This repository is archived; new development see GenSym.
Improving the performance of static analysis by meta-programming/multi-stage programming.
- dev-cleanCurrent development using LMS-clean
- oopsla19-codeThe artifact of the OOPSLA '19 submission
- lms-cleanThe new version of LMS library
- immerAn immutable data structures library for C++
- dev-obsoleteOutdated development using virtualization-lms-core
- pldi19-codeThe code for the PLDI '19 submission (obsoleted)
- abscomp-racket Abstract Compilation (CC '96) implemented in Racket
- 
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
- 
LLSC: A Parallel Symbolic Execution Compiler for LLVM IR (Demo Paper) 
 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)
- 
Compiling Symbolic Execution with Staging and Algebraic Effect 
 Guannan Wei, Oliver Bračevac, Shangyin Tan, Tiark Rompf
 Proceedings of the ACM on Programming Languages, Volume 4 (OOPSLA 2020). Online
 PDF (ACM DL)
- 
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)