Soufflé: On Synthesis of Program Analyzers

Conference paper

DOI: 10.1007/978-3-319-41540-6_23

Part of the Lecture Notes in Computer Science book series (LNCS, volume 9780)
Cite this paper as:
Jordan H., Scholz B., Subotić P. (2016) Soufflé: On Synthesis of Program Analyzers. In: Chaudhuri S., Farzan A. (eds) Computer Aided Verification. CAV 2016. Lecture Notes in Computer Science, vol 9780. Springer, Cham


Soufflé is an open source programming framework that performs static program analysis expressed in Datalog on very large code bases, including points-to analysis on OpenJDK7 (1.4M program variables, 350K objects, 160K methods) in under a minute. Soufflé is being successfully used for Java security analyses at Oracle Labs due to (1) its high-performance, (2) support for rapid program analysis development, and (3) customizability. Soufflé incorporates the highly flexible Datalog-based program analysis paradigm while exhibiting performance results that are on-par with manually developed state-of-the-art tools. In this tool paper, we introduce the Soufflé architecture, usage and demonstrate its applicability for large-scale code analysis on the OpenJDK7 library as a use case.

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Herbert Jordan
    • 1
  • Bernhard Scholz
    • 2
  • Pavle Subotić
    • 3
  1. 1.University of InnsbruckInnsbruckAustria
  2. 2.University of SydneySydneyAustralia
  3. 3.University College LondonLondonUK

Personalised recommendations