Guannan Wei
January 26, 2024

In this talk, I will present an overview of my research that provides novel directions to build correct, safe, and performant software systems using programming languages and compiler techniques. In the first part of the talk, I will present reachability type systems, a family of static type systems aiming at tracking sharing, separation, and side effects in higher-order imperative programs. Reachability types lead to a smooth combination of Rust-style ownership types with higher-level programming abstractions (such as first-class functions). In the second part, I will discuss how metaprogramming techniques can help build correct, flexible, and performant program analyzers. I will present GenSym, a parallel symbolic-execution compiler that is derived from a high-level definitional symbolic interpreter using program generation techniques. GenSym generates code in continuation-passing style to perform parallel symbolic execution of LLVM IR programs, and significantly outperforms similar state-of-the-art tools. The talk will also cover my future research agenda, such as applications of reachability types in quantum computing.

About Guannan Wei

Guannan Wei is currently a postdoctoral researcher at Purdue University. His research interests lie in programming languages and software engineering, including designing better programming languages and program analyzers with high-level programming abstractions. Guannan received his PhD degree (2023) in Computer Science from Purdue University, advised by Tiark Rompf. More of Guannan’s work can be found at https://continuation.passing.style.