Research
Publications
Service
Talks
Code
Quotes

Guannan Wei🔗


Email: guannan.wei@tufts.edu
Address:
  420 Joyce Cummings Center
  177 College Avenue
  Medford, MA 02155
Google Scholar | DBLP | Github
BlueSky | Twitter | Gallery | IG | Blog
Curriculum Vitae

Teaching @ Tufts
CS107 Compilers, Spring’26
CS150 Advanced Prog Lang, Fall’25
Teaching @ Purdue
• CS352 Compilers, co-instructor, Spring ’24
• CS352 Compilers, lead TA, Spring ’20
• CS502 Compilers, TA, Fall ’19
• CS252 System Programming, TA, Spring ’18
• CS252 System Programming, TA, Fall ’17

Recent Papers/Talks
[ICFP’26] pragmatics of staged evaluation
[PLDI’26] algorithmic reachability types
[OOPSLA’25] semantics of reachability types
[LMPL’25] LLMs+static analysis [talk]
[OlivierFest] symbex+continuation+wasm

Recent Service
Organization: Co-Chair, LMPL’26, Co-Chair, Scheme ’26,
Program Committee: S&P ’27, POPL ’27, FSE ’27, VMIL ’26, ICFP ’26 SRC, PLDI ’26 SRC, AIWare ’26, EXPRESS ’26, PEPM ’26, TFPIE ’26,
Review Committee: TOSEM ’26-’27

Group
PhD Students: Dinghong Zhong, Jonah Weinbaum (co-advised w/ Jeff Foster)
Interns: Jun Tan, Pingxuan Li
Alumni:
 Alex Bai
  NSF GRFP awardee, now PhD at NYU
 Dinghong Zhong
  now PhD at Tufts
 Mikail Khan
  NSF GRFP awardee, now PhD at CMU
 Shangyin Tan
  now PhD at UC Berkeley
 Yuxuan Chen
  now Software Engineer at Meta
 Yudai Urabe
  now researcher at NINJAL

last update: Aug 8, 2026

I am a tenure-track Assistant Professor in Computer Science at Tufts University, and a member of Tufts PL group (TuPL). Previously, I was a postdoctoral researcher in the ANTIQUE team at INRIA and École Normale Supérieure (Paris), working with Caterina Urban. I obtained my Ph.D. in Computer Science from Purdue University (advised by Tiark Rompf), and M.S. from the University of Utah (advised by Matt Might).

I’m looking for PhD/MS/undergraduate students to work with! If you are interested in programming languages and formal methods, please reach out. If you’re already a student at Tufts, feel free to email me to set up a meeting.

Research🔗

I love programming and I study the scientific and engineering aspects of software and programming systems. My research aims to develop novel, rigorous, and principled programming abstractions and tools that empower people to build correct, safe, and efficient software.

I develop expressive type systems, efficient & precise program analysis/verification/testing, metaprogramming systems with higher assurance, semantic foundations, aggressive compiler optimizations, as well as apply PL techniques to other domains.

  • Functional Programming + Tracking Sharing, Effects, and Separation of Resources
    [PLDI ’26, OOPSLA ’25, POPL ’24, OOPSLA ’23, ECOOP ’22, OOPSLA ’21] [More]

Publications🔗

    2026
    • Neurosymbolic Code Auditing
      Chengpeng Wang, Zhuo Zhang, Xiangzhe Xu, Mingwei Zheng, Guannan Wei, Xiangyu Zhang
      Foundations and Trends in Programming Languages (To appear). 2026
      [preprint]

    • Compiling Concolic Execution with Staging, Continuations, and Snapshots
      Dinghong Zhong, Alex Bai, Mikail Khan, Guannan Wei
      OOPSLA 2026 (To appear)

    • When Do Staging Annotations Preserve Semantics? Mechanizing Typed Semantics-Preserving Multi-Stage Programming with Let-Insertion
      Jun Tan, Guannan Wei
      OOPSLA 2026 (To appear)
      [arxiv] [artifact]

    • Let It Be Optimized: Building Multi-Stage Evaluators with Let-Insertion and Optimizations in Small Pieces (Functional Pearl)
      Guannan Wei, Jun Tan, Dinghong Zhong
      Proceedings of the ACM on Programming Languages, Volume 10 (ICFP 2026). IN, USA
      [pdf] [artifact]

    • Escape with Your Self: Sound and Expressive Bidirectional Typing with Avoidance for Reachability Types
      Songlin Jia, Guannan Wei, Siyuan He, Yuyan Bao, Tiark Rompf
      Proceedings of the ACM on Programming Languages, Volume 10 (PLDI 2026). Boulder, CO, USA
      [pdf] [acm dl] [artifact]

    2025
    • Hallucination-Resilient LLM-Driven Sound and Tunable Static Analysis – A Case of Higher-Order Control-Flow Analysis (Position paper)
      Guannan Wei, Zhuo Zhang, Caterina Urban
      The 1st International Workshop on Language Models and Programming Languages (LMPL), co-located with SPLASH/ICFP 2025. Singapore
      [pdf] [acm dl] [artifact]

    • Programming Large Language Models with Algebraic Effect Handlers and the Selection Monad (Position paper)
      Shangyin Tan, Guannan Wei, Koushik Sen, Matei Zaharia
      The 1st International Workshop on Language Models and Programming Languages (LMPL), co-located with SPLASH/ICFP 2025. Singapore
      [pdf]

    • Modeling Reachability Types with Logical Relations – Semantic Type Soundness, Termination, Effect Safety, and Equational Theory
      Yuyan Bao, Songlin Jia, Guannan Wei, Oliver Bračevac, Tiark Rompf
      Proceedings of the ACM on Programming Languages, Volume 9 (OOPSLA 2025). Singapore
      [arxiv] [acm dl] [artifact]

    • Reconstructing Continuation-Passing Semantics for WebAssembly
      Guannan Wei, Alex Bai, Dinghong Zhong, Jiatai Zhang
      Proceedings of the 26th International Symposium on Trends in Functional Programming (TFP 2025). Oxford, UK
      [pdf] [springer] [artifact]

    2024
    • Polymorphic Reachability Types: Tracking Freshness, Aliasing, and Separation in Higher-Order Generic Programs
      Guannan Wei, Oliver Bračevac, Songlin Jia, Yuyan Bao, Tiark Rompf
      Proceedings of the ACM on Programming Languages, Volume 8 (POPL 2024). London, United Kingdom
      [pdf] [appendix] [acm dl] [arxiv] [artifact]

    • Consolidating Smart Contracts with Behavioral Contracts
      Guannan Wei, Danning Xie, Wuqi Zhang, Yongwei Yuan, Zhuo Zhang* (* corresponding author)
      Proceedings of the ACM on Programming Languages, Volume 8 (PLDI 2024). Copenhagen, Denmark
      [pdf] [acm dl] [artifact]

    • ParDiff: Practical Static Differential Analysis of Network Protocol Parsers
      Mingwei Zheng, Qingkai Shi, Xuwei Liu, Xiangzhe Xu, Le Yu, Congyu Liu, Guannan Wei, Xiangyu Zhang
      Proceedings of the ACM on Programming Languages, Volume 8 (OOPSLA 2024). Pasadena, CA, USA
      Distinguished Paper Award
      [pdf] [acm dl] [artifact]

    2023
    • Compiling Parallel Symbolic Execution with Continuations
      Guannan Wei, Songlin Jia, Ruiqi Gao, Haotian Deng, Shangyin Tan, Oliver Bračevac, Tiark Rompf
      The 45th International Conference on Software Engineering (ICSE 2023)
      [pdf] [ieee] [artifact]

    • Graph IRs for Impure Higher-Order Languages – Making Aggressive Optimizations Affordable with Precise Effect Dependencies
      Oliver Bračevac, Guannan Wei, Songlin Jia, Supun Abeysinghe, Yuxuan Jiang, Yuyan Bao, Tiark Rompf
      Proceedings of the ACM on Programming Languages, Volume 7 (OOPSLA 2023). Cascais, Portugal
      [pdf] [acm dl]

    • Metaprogramming Program Analyzers
      Guannan Wei
      PhD Dissertation. Purdue University. 2023
      [pdf]

    2022
    • What If We Don’t Pop the Stack? The Return of Second-Class Values
      Anxhelo Xhebraj, Oliver Bračevac, Guannan Wei, Tiark Rompf
      Proceedings of the 36th European Conference on Object-Oriented Programming (ECOOP 2022). Berlin, Germany
      [pdf] [dagstuhl] [artifact]

    • Towards Partially Evaluating Symbolic Interpreters for All
      Shangyin Tan, Guannan Wei, Tiark Rompf
      ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM), co-located with POPL 2022. Philadelphia, PA, USA
      [pdf] [bib]

    2021
    • Reachability Types: Tracking Aliasing and Separation in Higher-Order Functional Programs
      Yuyan Bao, Guannan Wei, Oliver Bračevac, Yuxuan Jiang, Qiyang He, Tiark Rompf
      Proceedings of the ACM on Programming Languages, Volume 5 (OOPSLA 2021). Online/Chicago, IL, USA
      [pdf] [acm dl] [artifact]

    • LLSC: A Parallel Symbolic Execution Compiler for LLVM IR (Tool Demonstration)
      Guannan Wei, Shangyin Tan, Oliver Bračevac, Tiark Rompf
      Proceedings of the 29th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2021)
      [pdf] [acm dl] [demo]

    2020
    • Compiling Symbolic Execution with Staging and Algebraic Effects
      Guannan Wei, Oliver Bračevac, Shangyin Tan, Tiark Rompf
      Proceedings of the ACM on Programming Languages, Volume 4 (OOPSLA 2020). Online
      [pdf] [acm dl] [artifact]

    2019
    • Staged Abstract Interpreters: Fast and Modular Whole-Program Analysis via Meta-Programming
      Guannan Wei, Yuxuan Chen, Tiark Rompf
      Proceedings of the ACM on Programming Languages, Volume 3 (OOPSLA 2019). Athens, Greece
      [pdf] [acm dl] [artifact]

    • Precise Reasoning with Structured Time, Structured Heaps, and Collective Operations
      Grégory Essertel, Guannan Wei, Tiark Rompf
      Proceedings of the ACM on Programming Languages, Volume 3 (OOPSLA 2019). Athens, Greece
      [pdf] [acm dl] [artifact]

    • BDA: Practical Dependence Analysis for Binary Executables by Unbiased Whole-program Path Sampling and Per-path Abstract Interpretation
      Zhuo Zhang, Wei You, Guanhong Tao, Guannan Wei, Yonghwi Kwon, Xiangyu Zhang
      Proceedings of the ACM on Programming Languages, Volume 3 (OOPSLA 2019). Athens, Greece
      Distinguished Paper Award
      [pdf] [acm dl] [artifact]

    • Towards Verified Binary Raising
      Joe Hendrix, Guannan Wei, Simon Winwood
      Workshop on Instruction Set Architecture Specification, co-located with ITP 2019. Portland, OR, USA
      [pdf] [bib]

    • Graph Neural Reasoning for 2-Quantified Boolean Formula Solvers
      Zhanfu Yang, Fei Wang, Ziliang Chen, Guannan Wei, Tiark Rompf
      Workshop on Learning and Reasoning with Graph-Structured Representations, co-located with ICML 2019. Long Beach, CA, USA
      [pdf] [bib]

    2018
    • Refunctionalization of Abstract Abstract Machines (Functional Pearl)
      Guannan Wei, James M. Decker, Tiark Rompf
      Proceedings of the ACM on Programming Languages, Volume 2 (ICFP 2018). St. Louis, MO, USA
      [pdf] [acm dl] [artifact]

    Manuscript
    • Snek: Overloading Python Semantics via Virtualization
      James M. Decker, Dan Moldovan, Andrew A. Johnson, Guannan Wei, Fei Wang, Grégory Essertel, Alexander B. Wiltschko, Tiark Rompf
      [pdf]

    Translation

    Service🔗

    Conference Organization


    Review Committee


    Program Committee

    2027

    2026

    2025

    2024 and before

    Reviewer: OOPSLA ’26, Science of Computer Programming (SCP), Journal of Functional Programming (JFP), Journal of Systems Architecture (JSA), ACM Transactions on Programming Languages and Systems (TOPLAS) ×2, ACM Transactions on Software Engineering Methodology (TOSEM), ICFP ’22, ISSTA ’21, ICLR ’19

    Artifact Evaluation Committee: ISSTA ’24, OOPSLA ’24, POPL ’24, ICFP ’23, PLDI ’23, POPL ’23, PLDI ’22, PLDI ’21, ICFP ’21, ISSTA ’21, OOPSLA ’20, ICFP ’20, CAV ’20, ICFP ’19

    Student Volunteer: POPL ’23, ICFP ’19, MWPLS & PurPL Fest ’19

    Talks🔗

    • Towards Semantics-Preserving Multi-Stage Programming
      Northeastern University Programming Languages Seminar. Boston, MA. Nov 2025 

    • Mixing Transformation and Symbolic Execution with Continuation for WebAssembly
      OlivierFest (Honoring Olivier Danvy’s career on his 64th birthday), co-located with SPLASH/ICFP. Singapore. Oct 2025 [slides]

    • Programming Large Language Models with Algebraic Effect Handlers and the Selection Monad
      LMPL, co-located with SPLASH/ICFP. Singapore. Oct 2025 [slides]

    • Hallucination-Resilient LLM-Driven Sound and Tunable Static Analysis – A Case of Higher-Order Control-Flow Analysis
      LMPL, co-located with SPLASH/ICFP. Singapore. Oct 2025 [slides]

    • Towards Performant Static Analysis of WebAssembly via Staging and Continuations
      Dagstuhl Seminar 25241: Utilising and Scaling the WebAssembly Semantics. Germany. Jun 2025 [slides]

    • Polymorphic Reachability Types and Effects: An Overview
      ANTIQUE Seminar. INRIA/ENS-PSL Paris. May 2025 
      LIPN (Laboratoire d’Informatique de Paris Nord), Univ. Sorbonne Paris Nord. Mar 2025 [slides]

    • Reconstructing Continuation-Passing Semantics for WebAssembly
      WebAssembly Research Day. Hosted by Fastly. Feb 2025 [slides]
      The WebAssembly Workshop (WAW), co-located with POPL. Denver, CO. Jan 2025 [slides]

    • Metaprogramming Program Analyzers
      ANTIQUE Seminar. INRIA/ENS-PSL Paris. Oct 2024 [slides]

    • Consolidating Smart Contracts with Behavioral Contracts
      PLDI 2024. Copenhagen, Denmark. June 2024 [slides]

    • Polymorphic Reachability Types: Tracking Freshness, Aliasing, and Separation in Higher-Order Generic Programs
      POPL 2024. London, UK. Jan 2024 [slides]
      Midwest Programming Languages Summit (MWPLS). Ann Arbor, MI. Oct 2023 [poster]

    • Compiling and Controlling Symbolic Execution
      Northeastern University Programming Languages Seminar. Boston, MA. Dec 2023 [slides]
      Midwest Programming Languages Summit (MWPLS). Ann Arbor, MI. Oct 2023 [slides]
      Purdue PL Seminar. West Lafayette, IN. Dec 2022 [slides]

    • Compiling Parallel Symbolic Execution with Continuations
      ICSE 2023. Remote. May 2023 [slides]

    • Reachability Types: Tracking Aliasing and Separation in Higher-Order Functional Programs
      OOPSLA 2021. Chicago, IL. Oct 2021 [poster]

    • LLSC: A Parallel Symbolic Execution Compiler for LLVM IR
      ESEC/FSE 2021. Online. Aug 2021 [slides]

    • Compiling Symbolic Execution with Staging and Algebraic Effects
      OOPSLA 2020. Online. Nov 2020 [slides]

    • Metaprogramming for Program Analyzers
      PurPL Retreat. Online. Aug 2020 [slides]

    • Staged Abstract Interpreters
      OOPSLA 2019. Athens, Greece. Oct 2019 [slides]

    • Refunctionalization of Abstract Abstract Machines (Functional Pearl)
      ICFP 2018. St. Louis, MO. Sep 2018 [slides][poster]

    • Precise Reasoning with Structured Heaps and Collective Operations à la Map/Reduce
      Purdue PL Seminar. West Lafayette, IN. Jan 2018 [slides]
      Midwest Programming Languages Summit (MWPLS). Bloomington, IN. Dec 2017 [slides]
      Huawei Research Summit. Urbana-Champaign, IL. Mar 2018 [slides]

    Code🔗

    • GenSym: a compiler for parallel symbolic-execution of LLVM IR

    • Diamond language: a prototype language with the polymorphic reachability type system

    • Reachability types: mechanizations of various calculi with reachability tracking in Coq

    • lms-clean: the Lightweight Modular Staging framework

    Quotes🔗

    Keep fun in computing — Alan Perlis

    Page generated using Racket and Scribble.