Kraks/sai

Staged Abstract Interpreters

Scala

68

1,611 commits

updated Mar 13, 2023

See the code

README

Scala CI

This repository is archived; new development see GenSym.

Staged Program Analyzers

Improving the performance of static analysis by meta-programming/multi-stage programming.

Directories

  • dev-clean Current development using LMS-clean
  • oopsla19-code The artifact of the OOPSLA '19 submission
  • lms-clean The new version of LMS library
  • immer An immutable data structures library for C++
  • dev-obsolete Outdated development using virtualization-lms-core
  • pldi19-code The code for the PLDI '19 submission (obsoleted)
  • abscomp-racket Abstract Compilation (CC '96) implemented in Racket

Publications

  • 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)

abstract-interpretation
interpreters
meta-programming
scala
staging
symbolic-execution

Contributors

Kraks

1,186 commits

Shangyint

180 commits

Tantalus13A98B5F

109 commits

bracevac

31 commits

Kraks/sai

Staged Abstract Interpreters

Scala

68

1,611 commits

updated Mar 13, 2023

See the code

README

Scala CI

This repository is archived; new development see GenSym.

Staged Program Analyzers

Improving the performance of static analysis by meta-programming/multi-stage programming.

Directories

  • dev-clean Current development using LMS-clean
  • oopsla19-code The artifact of the OOPSLA '19 submission
  • lms-clean The new version of LMS library
  • immer An immutable data structures library for C++
  • dev-obsolete Outdated development using virtualization-lms-core
  • pldi19-code The code for the PLDI '19 submission (obsoleted)
  • abscomp-racket Abstract Compilation (CC '96) implemented in Racket

Publications

  • 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)

abstract-interpretation
interpreters
meta-programming
scala
staging
symbolic-execution

Contributors

Kraks

1,186 commits

Shangyint

180 commits

Tantalus13A98B5F

109 commits

bracevac

31 commits

Languages

Scala

51.3%

Scheme

22.7%

Java

13.3%

C++

4.6%

C

4.1%

TeX

3.1%