Hi, I'm a 5th-year PhD candidate in Computer Science from University of California, Santa Cruz. I'm advised by Prof. Lindsey Kuper and a member of the LSD lab. My research lies in programming languages and formal methods, with a focus on their applications in building software that is elegant, correct, and efficient (in this order!).
Specifically, I have been working on choreographic programming, a paradigm that enables writing a distributed system as a single program (a choreography) which can then be projected into individual programs for each node. In this way, interactions between nodes are manifest and guaranteed to be deadlock-free. We developed HasChor, a Haskell library for choreographic programming, to experiment with language design and create real-world distributed systems.
Efficient, Portable, Census-Polymorphic Choreographic Programming
Mako Bates, Shun Kashiwa, Syed Jafri, Gan Shen, Lindsey Kuper, Joseph P. Near
PLDI 2025
Toward Verified Library-Level Choreographic Programming with Algebraic Effects
Gan Shen, Lindsey Kuper
CP 2024
HasChor: Functional Choreographic Programming for All (Functional Pearl)
Gan Shen, Shun Kashiwa, Lindsey Kuper
ICFP 2023 (Distinguished Paper Award)
Verified Causal Broadcast with Liquid Haskell
Patrick Redmond, Gan Shen, Niki Vazou, Lindsey Kuper
IFL 2022
Toward Hole-Driven Development with Liquid Haskell
Patrick Redmond, Gan Shen, Lindsey Kuper
HATRA 2021
Toward SMT-Based Refinement Types in Agda
Gan Shen, Lindsey Kuper
HATRA 2021
Parameters extraction for equivalent circuit model based on artificial intelligence
Linchun Liu, Zhimin Guan, Gan Shen, Peng Zhao, Gaofeng Wang
ICCEM 2019
At UC Santa Cruz, as a teaching assistant: