Hi👋, I'm a PhD student at the University of California, Santa Cruz, advised by Lindsey Kuper in the LSD lab.
I do research on programming languages, with a focus on their applications in building distributed systems that are elegant, correct, and efficient (in this order!).
More specifically, I work on choreographic programming, a programming paradigm where one writes a single program that describes the complete behavior of a distributed system and then compiles it to individual programs that run on each node. In this way, the generated programs are guaranteed to be deadlock-free. See HasChor, our implementation of choreographic programming in Haskell, for more details.
I did two internships in the Automated Reasoning Group at Amazon Web Service in the summer of 2022 and 2023, where I worked on modeling and verifying distributed protocols.
HasChor: Functional Choreographic Programming for All (Functional Pearl)
Gan Shen, Shun Kashiwa, Lindsey Kuper
ICFP 2023
Distinguished Paper Award
Verified Causal Broadcast in Liquid Haskell
Patrick Redmond, Gan Shen, Niki Vazou, Lindsey Kuper
IFL 2022
Toward Hole-Driven Development in 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 UCSC, as a teaching assistant:
Foundations of Programming Languages
Spring 2022
Parallel and Concurrent Programming
Spring 2021
Fundmentals of Compiler Design I
Winter 2020
My first name “Gan” is a single Chinese character “赣” which is the abbreviation for Jiangxi province of China, my mother's hometown.