Types and Metaprogramming for Correct, Safe, and Performant Software Systems

10:30 am
Monday January 29th, 2024
Room 3107
Patrick F. Taylor Hall




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.

Tasnuva Farheen

Gunnan Wei

Indiana University

Guannan Wei is currently a postdoctoral researcher at Purdue University. His research interests lie in programming languages and software engineering, including designing better languages and analyzers with high-level programming abstractions. His contributions have been published in flagship programming languages and software engineering venues, such as POPL, OOPSLA, ICFP, ECOOP, ICSE, and ESEC/FSE. Guannan received his PhD degree (2023) in Computer Science from Purdue University, advised by Tiark Rompf. He is the 2022 recipient of the Maurice H. Halstead Memorial Award for Software Engineering Research.