Edit me

An Efficient Interpreter for Soufflé

Xiaowen Hu has implemented an efficient interpreter for Soufflé. An Honours thesis can be found here, and the corresponding slides can be found here. The work investigates various techniques to implement a high performance interpreter for Soufflé, so that the performance gap between Soufflé and synthesised C++ Soufflé...

Haskell Interface for Souffle

The list of languages that can interface with Soufflé keeps growing. Haskell, a high level functional programming language, can now also easily interact with Soufflé via the souffle-haskell library. Motivating example To show how easy it is to call Datalog from Haskell, let’s write a program that can...

IntelliJ IDE Plugin

Last year I needed to implemented a larger project with Datalog/Soufflé for my Master’s Thesis. Being an avid user of graphical IDEs, my first reflex was to search for a Datalog plugin for IntelliJ to speed up my development process. After a fruitless search and some futile attempts to use...

Soufflé 1.7.0 Released

Hello! We have the second open-source release of Soufflé for you. Key features are Enhance program minimiser (azreika) Fix re-ordering of conjunctive terms

Soufflé 1.7.0 Released

Hello! We have the second open-source release of Soufflé for you. Key features are Rewrote Interpreter for enhanced performance (XiaowenHu96,HerbertJordan) Add SWIG interface (detljh,chadgavin,honghyw) Improved C++ interface and documentation (detljh,chadgavin,honghyw) C++ interface allows specification of thread count (mmcgr) Added RAM analysis to debug report (b-scholz) New provenance instrumentation storing...

Fast Parallel Equivalence Relations in a Datalog Compiler

This is the Fast Parallel Equivalence Relations in a Datalog Compiler. It was published in the International Conference on Parallel Architectures and Compilation Techniques, Sep 23-25, Seattle, WA, USA. The paper describes the integration of a concurrent equivalence relation data-structure in Soufflé that performs the computation of reflexivitiy, symmetry,...

Automatic Index Selection for Large-Scale Datalog Computation

This is the Automatic Index Selection for Large-Scale Datalog Computation describing on how Soufflé selects indexes using a bi-partite matching problem. It was published in the 45th International Conference on Very Large Data Bases (VLDB’19). Abstract Datalog has been applied to several use cases that require very high...

Fast Parallel Equivalence Relations in a Datalog Compiler

A new paper has been published as part of the 28th International Conference on Parallel Architectures and Compilation techniques (PACT). This is an extension of the work written about previously, and describes the implementation of equivalence relations natively in compiled Soufflé utilising custom data-structures, and its extension to...

Datalog Disassembly

A fast disassembler/binary translator for x86-binaries has been developed by GrammaTech using Soufflé and open-sourced under the GNU Affero General Public License v3.0. The source code can be found on github. The disassembler parses ELF files and translates the binary to a symbolic representation exposing control-flow and data-flow dependencies....

Soufflé 1.6.2 Released

Hello! We have a new release of Soufflé for you. Key features are Low Level Machine Interpreter for improved non-synthesised performance (XiaowenHu96,HerbertJordan) Provenance support for negation and equivalence relations (taipan-snake) New semantics for RAM (b-scholz) Stratified RAM Analysis interfaces (b-scholz) New RAM Transformations: expand/collapsing conditions of filters, hoisting of...

RSS Subscribe


See more posts from the News Archive.