Edit me

The following applications are written in the Soufflé Language. Some are open source and the source code is accessible:


Doop is a pointer analysis framework for Java programs. Doop implements a range of points-to algorithms, including context insensitive, call-site sensitive, and object-sensitive analyses. The source code can be found here.


A binary lifter (and related framework) from low-level EVM code to a higher-level function-based three-address representation, similar to LLVM IR or Jimple. The source code can be found here.

Securify 2.0

Securify 2.0 is a security scanner for the Solidity language. The source code can be found here.

Insieme Compiler

Insieme project is a research compiler for automatically optimizing parallel programs for homogeneous and heterogeneous multi-core architectures. It is a source-to-source compiler. The source code can be found here.


GrammaTech’s DDisasm is a disassembler for multiple platforms. The source code can be found here.


Vandal is a static program analysis framework for Ethereum smart contract bytecode, developed at The University of Sydney. The source code can be found here.


A synthesis framework that learns Datalog rules from data (appeared POPL’20).

Haskell Interface

There is a Haskell/Soufflé interface written by Luc Tielen. You can find the source code here.

Haskell Program Optimisation

GRIN is a Haskell backend that uses Soufflé. The source code can be found here.

Java JDK Security Analysis

Soufflé was initially used to find security vulnerabilities in the Java JDK library. This project was conducted by Oracle Labs, Brisbane.


Amazon used Soufflé to verify VPN connections in the AWS cloud.


Soufflé is integrated in an application performing context-sensitive pointer analysis to identify potential software vulnerabilities in C/C++ source code. More about Galois can be found here.

Frank’s DDLOG Benchmarks

Frank McSherry has developed three benchmarks for DDLOG. They can be found here.

Soufflé’s Benchmark Suite

The souffle team has its own benchmark, which can be found here