Making Formulog Fast: An Argument for Unconventional Datalog Evaluation (Extended Version)
Aaron Bembenek (University of Melbourne), Michael Greenberg (Stevens, Institute of Technology), Stephen Chong (Harvard University)

TL;DR
This paper introduces eager evaluation, a novel concurrent Datalog evaluation method, significantly improving the performance of the Formulog language for SMT-based static analysis tasks by surpassing traditional semi-naive evaluation techniques.
Contribution
It develops and demonstrates eager evaluation, an alternative to semi-naive evaluation, leading to substantial speedups in Formulog's performance for static analysis applications.
Findings
Eager evaluation achieves up to 7.6x speedup over traditional methods.
Formulog with eager evaluation outperforms hand-tuned analyses in most benchmarks.
Eager evaluation improves SMT workload distribution and solving times.
Abstract
By combining Datalog, SMT solving, and functional programming, the language Formulog provides an appealing mix of features for implementing SMT-based static analyses (e.g., refinement type checking, symbolic execution) in a natural, declarative way. At the same time, the performance of its custom Datalog solver can be an impediment to using Formulog beyond prototyping -- a common problem for Datalog variants that aspire to solve large problem instances. In this work we speed up Formulog evaluation, with surprising results: while 2.2x speedups are obtained by using the conventional techniques for high-performance Datalog (e.g., compilation, specialized data structures), the big wins come by abandoning the central assumption in modern performant Datalog engines, semi-naive Datalog evaluation. In its place, we develop eager evaluation, a concurrent Datalog evaluation algorithm that…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsExplainable Artificial Intelligence (XAI) · Business Process Modeling and Analysis
