This repository has been archived by the owner. It is now read-only.


Padmanabhan (Paddy) Krishnan edited this page Jul 18, 2017 · 24 revisions

Contributors & History

In December 2013, prior to Soufflé, preliminary work on Datalog translation for static program analysis commenced at Oracle Labs, Brisbane. A source-to-source translator from Datalog to SQL was developed. This pilot project was led and developed by the Visiting Professor from the University of Sydney Bernhard Scholz and Oracle Labs research assistant Kostyantyn Voroboyov. Till Westmann (a Software Architect in the Oracle Labs at that time) provide valuable input on data-base related issues that were relevant. The findings of the source-to-source translator were published in:

  • Bernhard Scholz, Kostyantyn Vorobyov, Padmanabhan Krishnan, Till Westmann: A Datalog Source-to-Source Translator for Static Program Analysis: An Experience Report. ASWEC 2015: 28-37

In 2014, after the successful pilot, Soufflé was formally commenced as an Oracle Labs project. Bernhard Scholz was the project lead with assistance from Oracle Labs Research Assistants Paul Subotic, Herbert Jordan, and Visiting Student Raihaan Amod.

Other Oracle Labs employees who contributed to the project included:

  • Nicholas Allen who refactored the front-end of the Soufflé compiler in late 2015.
  • Alexander Jordan who developed an object-oriented interface for C++ programs.

with feedback on different aspects of the project from:

The project highlights the international nature of the collaboration with the research assistants and students coming to Oracle Labs, Brisbane from all over the world: Kostyantyn Vorobyov from Bond University, Australia, Paul Subotic from UCL, UK, Herbert Jordan from the University of Innsbruck, Austria, Raihaan Amod from The University of Queensland, Australia, Behnaz Hassanshahi from NUS, Singapore and Stepan Sindelar from The Charles University in the Czech Republic.

Soufflé was open-sourced in March 2016.

The contributors at the time of oper sourcing with their code contributions are:

  • Bernhard Scholz: project lead, design and implementation
  • Herbert Jordan: high-performance parallel data-structures, language extensions including records and components, static type system, major refactoring of the system
  • Paul Subotic: index selection for relations
  • Raihaan Amod: profiler
  • Alex Jordan: support designing/implementing the object-oriented C++ interface for Soufflé
  • Nicholas Allen: refactoring of the front-end


  • Bernhard Scholz, Herbert Jordan, Pavle Subotic, Till Westmann: On fast large-scale program analysis in Datalog. CC 2016: 196-206
  • Herbert Jordan, Bernhard Scholz, Pavle Subotic: Soufflé: On Synthesis of Program Analyzers. CAV (2) 2016: 422-430
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.