Porting Doop to Soufflé: A Tale of Inter-Engine Portability for Datalog-Based Analyses
We detail our experience of porting the static analysis framework to the recently introduced Datalog engine. The port addresses the idiosynchrasies of the Datalog dialects involved (w.r.t. the type system, value construction, and fact updates) and differences in the runtime systems (w.r.t. parallelism, transactional execution, and optimization methodologies). The overall porting effort is interesting in many ways: as an instance of the benefits of specifying static analyses declaratively, gaining benefits (e.g., parallelism) from a mere porting to a new runtime system; as a study of the effort required to migrate a substantial Datalog codebase (of several thousand rules) to a different dialect. By exploiting shared-memory parallelism, the version of the framework achieves speedups of up to 4x, over already high single-threaded performance.
Slides (soap2017-slides.pdf) | 117KiB |
Sun 18 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:45 - 12:30 | |||
11:45 22mTalk | SootKeeper: Runtime Reusability for Modular Static Analysis SOAP Florian Kübler TU Darmstadt, Germany, Patrick Müller TU Darmstadt, Germany, Ben Hermann University of Paderborn DOI Pre-print | ||
12:07 22mTalk | Porting Doop to Soufflé: A Tale of Inter-Engine Portability for Datalog-Based Analyses SOAP Anastasios Antoniadis , Konstantinos Triantafyllou University of Athens, Greece, Yannis Smaragdakis University of Athens DOI Pre-print File Attached |