The work investigates various techniques to implement a high performance interpreter for Soufflé, so that the performance gap between Soufflé and synthesised C++ Soufflé code can be improved. We present a new strategy for implementing an efficient tree-walk interpreter - the Switch-based Shadow Tree technique. The new technique ensures a high-performance tree-walk interpreter for a coarse-grained instruction set and has sound engineering principles for the ease of development.
- Fast Parallel Equivalence Relations
- Datalog Disassembly
- Provenance for Large-scale Datalog
- A Smart-Contract Decompiler - Gigahorse
- A Specialized B-Tree for Concurrent Datalog Evaluation
- Brie: A Specialized Trie for Concurrent Datalog
- Equivalence Relations in Soufflé
- High performance data structures in Soufflé
- Provenance in Soufflé
- PLDI Tutorial
- An efficient tunable selective points-to analysis for large codebases
- First conference tutorial
- Soufflé: On Synthesis of Program Analyzers
- Soufflé is open-source!
- On fast large-scale program analysis in Datalog