Edit me

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...

Provenance Tracking for Static Analysis with Datalog

Sarah has just finished her MPhil thesis on provenance in Datalog. She improved David’s provenance system by using a neat trick: storing the arguments of the max-calculation to speed up the proof-generation time. Well done Sarah! You find her thesis Provenance Tracking for Static Analysis with Datalog here.

Provenance for Large-scale Datalog

This is the Provenance for Large-scale Datalog paper describing how to implement a fast provenance system in Datalog. Provenance is a mechanism to describe the existence of tuples (or their lack off it). It is on Arxiv.org. The co-authors are David Zhao, Pavle Subotic, and Bernhard Scholz.

A Smart-Contract Decompiler - Gigahorse

This is the Gigahorse: Thorough, Declarative Decompilation of Smart Contracts paper which implements a SmartContract decompiler in Soufflé. The co-authors are Grech, Neville, Brent, Lexi, Scholz, Bernhard, and Smaragdakis, Yannis. It was published in the 41st ACM/IEEE International Conference on Software Engineering (ICSE’19). Abstract The rise of smart...

A Specialized B-Tree for Concurrent Datalog Evaluation

This is the A Specialized B-Tree for Concurrent Datalog Evaluation. It was published in the Symposium on Principles and Practice of Parallel Programming, February 16–20, 2019, Washington, DC, USA (PPoPP’19). Abstract Modern Datalog engines are employed in industrial applications such as graph-databases, networks, and static program analysis. To...

Brie: A Specialized Trie for Concurrent Datalog

This is the Brie: A Specialized Trie for Concurrent Datalog. It was published in the 10th International Workshop on Programming Models and Applications for Multicores and Manycores workshop (PMAM’19). Abstract Modern Datalog engines are employed in industrial applications such as graph databases, networks, and static program analysis. To...

Soufflé 1.5.1 Released

Hello! We have a new release of Soufflé for you. Key features are User defined functors (b-scholz) Rewritten code generation (taipan-snake) Improved Provenance via generated data structures (taipan-snake) Profile cpu & memory usage (mmcgr) Enhanced profiler graphs (mmcgr) Productivity measures in profiler (mmcgr) General profiler enhancements (mmcgr) Added support...

RSS Subscribe


See more posts from the News Archive.