Affiliation:
1. University of Washington, USA
2. University of California at San Diego, USA
3. Draper Laboratory, USA
4. Google, USA
Abstract
We present egglog, a fixpoint reasoning system that unifies Datalog and equality saturation (EqSat). Like Datalog, egglog supports efficient incremental execution, cooperating analyses, and lattice-based reasoning. Like EqSat, egglog supports term rewriting, efficient congruence closure, and extraction of optimized terms.
We identify two recent applications -- a unification-based pointer analysis in Datalog and an EqSat-based floating-point term rewriter -- that have been hampered by features missing from Datalog but found in EqSat or vice-versa. We evaluate our system by reimplementing those projects in egglog. The resulting systems in egglog are faster, simpler, and fix bugs found in the original systems.
Funder
National Science Foundation
U.S. Department of Energy
Defense Advanced Research Projects Agency
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference62 articles.
1. Serge Abiteboul , Richard Hull , and Victor Vianu . 1995. Foundations of Databases . Addison-Wesley . isbn:0-201-53771-0 http://webdam.inria.fr/Alice/ Serge Abiteboul, Richard Hull, and Victor Vianu. 1995. Foundations of Databases. Addison-Wesley. isbn:0-201-53771-0 http://webdam.inria.fr/Alice/
2. Convergence of Datalog over (Pre-) Semirings
3. Design and Implementation of the LogicBlox System
4. Structure-Sensitive Points-To Analysis for C and C++
5. A generalization of the differential approach to recursive query evaluation
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Modeling Erlang Compiler IR as SMT Formulas;Proceedings of the 23rd ACM SIGPLAN International Workshop on Erlang;2024-08-28
2. SpEQ: Translation of Sparse Codes using Equivalences;Proceedings of the ACM on Programming Languages;2024-06-20
3. Transforming Optimization Problems into Disciplined Convex Programming Form;Lecture Notes in Computer Science;2024
4. Bring Your Own Data Structures to Datalog;Proceedings of the ACM on Programming Languages;2023-10-16