Abstract
Given a set of candidate Datalog rules, the Datalog synthesis-as-rule-selection problem chooses a subset of these rules that satisfies a specification (such as an input-output example). Building off prior work using counterexample-guided inductive synthesis, we present a progression of three solver-based approaches for solving Datalog synthesis-as-rule-selection problems. Two of our approaches offer some advantages over existing approaches, and can be used more generally to solve arbitrary SMT formulas containing Datalog predicates; the third—an encoding into standard, off-the-shelf answer set programming (ASP)—leads to significant speedups (∼ 9× geomean) over the state of the art while synthesizing higher quality programs.
Our progression of solutions explores the space of interactions between SAT/SMT and Datalog, identifying ASP as a promising tool for working with and reasoning about Datalog. Along the way, we identify Datalog programs as monotonic SMT theories, which enjoy particularly efficient interactions in SMT; our plugins for popular SMT solvers make it easy to load an arbitrary Datalog program into the SMT solver as a custom monotonic theory. Finally, we evaluate our approaches using multiple underlying solvers to provide a more thorough and nuanced comparison against the current state of the art.
- Alex Aiken, Suhabe Bugrara, Isil Dillig, Thomas Dillig, Brian Hackett, and Peter Hawkins. 2007. An Overview of the Saturn Project. In Proceedings of the 7th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering. 43–48. https://doi.org/10.1145/1251535.1251543
Google Scholar
Digital Library
- Aws Albarghouthi, Paraschos Koutris, Mayur Naik, and Calvin Smith. 2017. Constraint-Based Synthesis of Datalog Programs. In Proceedings of the 23rd International Conference on Principles and Practice of Constraint Programming. 689–706. https://doi.org/10.1007/978-3-319-66158-2_44
Google Scholar
Cross Ref
- Peter Alvaro, Tyson Condie, Neil Conway, Khaled Elmeleegy, Joseph M Hellerstein, and Russell Sears. 2010. Boom Analytics: Exploring Data-Centric, Declarative Programming for the Cloud. In Proceedings of the 5th European Conference on Computer systems. 223–236. https://doi.org/10.1145/1755913.1755937
Google Scholar
Digital Library
- Peter Alvaro, William R Marczak, Neil Conway, Joseph M Hellerstein, David Maier, and Russell Sears. 2010. Dedalus: Datalog in Time and Space. In Datalog 2.0. 43–48. https://doi.org/10.1007/978-3-642-24206-9_16
Google Scholar
Digital Library
- Mario Alviano, Carmine Dodaro, Wolfgang Faber, Nicola Leone, and Francesco Ricca. 2013. WASP: A Native ASP Solver Based on Constraint Learning. In Proceedings of the 12th International Conference on Logic Programming and Nonmonotonic Reasoning. 54–66. https://doi.org/10.1007/978-3-642-40564-8_6
Google Scholar
Digital Library
- Krzysztof R Apt, Howard A Blair, and Adrian Walker. 1988. Towards a Theory of Declarative Knowledge. In Foundations of Deductive Databases and Logic Programming. Elsevier, 89–148. https://doi.org/10.1016/B978-0-934613-40-8.50006-3
Google Scholar
Cross Ref
- Duangtida Athakravi, Domenico Corapi, Krysia Broda, and Alessandra Russo. 2013. Learning Through Hypothesis Refinement Using Answer Set Programming. In Proceedings of the 23rd Interational Conference on Inductive Logic Programming. 31–46. https://doi.org/10.1007/978-3-662-44923-3_3
Google Scholar
Cross Ref
- John Backes, Sam Bayless, Byron Cook, Catherine Dodge, Andrew Gacek, Alan J. Hu, Temesghen Kahsai, Bill Kocik, Evgenii Kotelnikov, Jure Kukovec, Sean McLaughlin, Jason Reed, Neha Rungta, John Sizemore, Mark A. Stalzer, Preethi Srinivasan, Pavle Subotic, Carsten Varming, and Blake Whaley. 2019. Reachability Analysis for AWS-Based Networks. In Proceedings of the 31st International Conference on Computer Aided Verification. 231–241. https://doi.org/10.1007/978-3-030-25543-5_14
Google Scholar
Cross Ref
- Evgenii Balai and Michael Gelfond. 2016. On the Relationship Between P-log and LP^ MLN. In Proceedings of the 25th International Joint Conference on Artificial Intelligence. 915–921.
Google Scholar
- Clark Barrett, Pascal Fontaine, and Cesare Tinelli. 2016. The Satisfiability Modulo Theories Library (SMT-LIB). www.SMT-LIB.org
Google Scholar
- Clark W. Barrett, Christopher L. Conway, Morgan Deters, Liana Hadarean, Dejan Jovanovic, Tim King, Andrew Reynolds, and Cesare Tinelli. 2011. CVC4. In Proceedings of the 23rd International Conference on Computer Aided Verification. 171–177. https://doi.org/10.1007/978-3-642-22110-1_14
Google Scholar
Cross Ref
- Sam Bayless, Noah Bayless, Holger H. Hoos, and Alan J. Hu. 2015. SAT Modulo Monotonic Theories. In Proceedings of the 29th Conference on Artificial Intelligence. 3702–3709.
Google Scholar
- Sam Bayless, Nodir Kodirov, Syed M. Iqbal, Ivan Beschastnikh, Holger H. Hoos, and Alan J. Hu. 2020. Scalable Constraint-Based Virtual Data Center Allocation. Artif. Intell., 278 (2020), 103196. https://doi.org/10.1016/j.artint.2019.103196
Google Scholar
Digital Library
- Aaron Bembenek, Michael Greenberg, and Stephen Chong. 2020. Formulog: Datalog for SMT-based static analysis. Proc. ACM Program. Lang., 4, OOPSLA (2020), 141:1–141:31. https://doi.org/10.1145/3428209
Google Scholar
Digital Library
- Aaron Bembenek, Michael Greenberg, and Stephen Chong. 2022. From SMT to ASP: Solver-Based Approaches to Solving Datalog Synthesis-as-Rule-Selection Problems (POPL 2023 Artifact). https://doi.org/10.5281/zenodo.7150677
Google Scholar
Digital Library
- Nikolaj Bjørner, Arie Gurfinkel, Ken McMillan, and Andrey Rybalchenko. 2015. Horn Clause Solvers for Program Verification. In Fields of Logic and Computation II. Springer, 24–51. https://doi.org/10.1007/978-3-319-23534-9_2
Google Scholar
Cross Ref
- Martin Bravenboer and Yannis Smaragdakis. 2009. Strictly Declarative Specification of Sophisticated Points-to Analyses. In Proceedings of the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications. 243–262. https://doi.org/10.1145/1639949.1640108
Google Scholar
Digital Library
- Gerhard Brewka, Thomas Eiter, and Miroslaw Truszczynski. 2011. Answer Set Programming at a Glance. Commun. ACM, https://doi.org/10.1145/2043174.2043195
Google Scholar
Digital Library
- Peter Buneman, Sanjeev Khanna, and Wang Chiew Tan. 2001. Why and Where: A Characterization of Data Provenance. In Proceedings of the 8th International Conference on Database Theory. 316–330. https://doi.org/10.1007/3-540-44503-X_20
Google Scholar
Cross Ref
- Francesco Calimeri, Davide Fuscà, Simona Perri, and Jessica Zangari. 2017. I-DLV: The New Intelligent Grounder of DLV. Intelligenza Artificiale, 11, 1 (2017), 5–20. https://doi.org/10.1007/978-3-319-49130-1_15
Google Scholar
Digital Library
- Keith L Clark. 1977. Negation as Failure. In Logic and Data Bases. 293–322. https://doi.org/10.1007/978-1-4684-3384-5_11
Google Scholar
Cross Ref
- Domenico Corapi, Alessandra Russo, and Emil Lupu. 2011. Inductive Logic Programming in Answer Set Programming. In Proceedings of the 21st International Conference on Inductive Logic Programming. 91–97. https://doi.org/10.1007/978-3-642-31951-8_12
Google Scholar
Digital Library
- Andrew Cropper, Sebastijan Dumančić, Richard Evans, and Stephen H. Muggleton. 2021. Inductive Logic Programming at 30. Mach. Learn., https://doi.org/10.1007/s10994-021-06089-1
Google Scholar
Digital Library
- Andrew Cropper and Rolf Morel. 2021. Learning Programs by Learning From Failures. Mach. Learn., https://doi.org/10.1007/s10994-020-05934-z
Google Scholar
Digital Library
- Daniel J Dougherty, Kathi Fisler, and Shriram Krishnamurthi. 2006. Specifying and reasoning about dynamic access-control policies. In Proceedings of the 3rd International Joint Conference on Automated Reasoning. 632–646. https://doi.org/10.1007/11814771_51
Google Scholar
Digital Library
- Jon Doyle. 1979. A truth maintenance system. Artif. Intell., 12, 3 (1979), 231–272. https://doi.org/10.1016/0004-3702(79)90008-0
Google Scholar
Cross Ref
- Richard Evans, José Hernández-Orallo, Johannes Welbl, Pushmeet Kohli, and Marek J. Sergot. 2021. Making Sense of Sensory Input. Artif. Intell., 103438. https://doi.org/10.1016/j.artint.2020.103438
Google Scholar
Cross Ref
- Francois Fages. 1994. Consistency of Clark’s Completion and Existence of Stable Models. Journal of Methods of Logic in Computer Science, 1, 1 (1994), 51–60.
Google Scholar
- Antonio Flores-Montoya and Eric M. Schulte. 2020. Datalog Disassembly. In Proceedings of the 29th USENIX Security Symposium. 1075–1092.
Google Scholar
- 1978. Logic and Data Bases, Hervé Gallaire and Jack Minker (Eds.). Plenum Press.
Google Scholar
- Martin Gebser, Tomi Janhunen, and Jussi Rintanen. 2014. Answer Set Programming as SAT Modulo Acyclicity. In Proceedings of the 21st European Conference on Artificial Intelligence. 351–356.
Google Scholar
- Martin Gebser, Roland Kaminski, Arne König, and Torsten Schaub. 2011. Advances in Gringo Series 3. In Proceedings of the 11th International Conference on Logic Programming and Nonmonotonic Reasoning. 345–351. https://doi.org/10.1007/978-3-642-20895-9_39
Google Scholar
Cross Ref
- Martin Gebser, Benjamin Kaufmann, Roland Kaminski, Max Ostrowski, Torsten Schaub, and Marius Schneider. 2011. Potassco: The Potsdam Answer Set Solving Collection. AI Commun..
Google Scholar
- Martin Gebser, Benjamin Kaufmann, and Torsten Schaub. 2012. Conflict-Driven Answer Set Solving: From Theory to Practice. Artif. Intell., 52–89. https://doi.org/10.1016/j.artint.2012.04.001
Google Scholar
Digital Library
- Martin Gebser, Max Ostrowski, and Torsten Schaub. 2009. Constraint Answer Set Solving. In Proceedings of the 25th International Conference on Logic Programming. 235–249. https://doi.org/10.1007/978-3-642-02846-5_22
Google Scholar
Digital Library
- Martin Gebser, Torsten Schaub, and Sven Thiele. 2007. GrinGo: A New Grounder for Answer Set Programming. In Proceedings of the 9th International Conference on Logic Programming and Nonmonotonic Reasoning. 266–271. https://doi.org/10.1007/978-3-540-72200-7_24
Google Scholar
Cross Ref
- Michael Gelfond and Vladimir Lifschitz. 1988. The Stable Model Semantics for Logic Programming. In Proceedings of the 5th International Conference and Symposium on Logic Programming.
Google Scholar
- Enrico Giunchiglia, Yuliya Lierler, and Marco Maratea. 2004. SAT-Based Answer Set Programming. In Proceedings of the 19th National Conference on Artificial Intelligence. 61–66.
Google Scholar
Digital Library
- Sergey Grebenshchikov, Nuno Lopes, Corneliu Popeea, and Andrey Rybalchenko. 2012. Synthesizing Software Verifiers from Proof Rules. In Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation. 405–416. https://doi.org/10.1145/2254064.2254112
Google Scholar
Digital Library
- Neville Grech, Lexi Brent, Bernhard Scholz, and Yannis Smaragdakis. 2019. Gigahorse: Thorough, Declarative Decompilation of Smart Contracts. In Proceedings of the 41st International Conference on Software Engineering. 1176–1186. https://doi.org/10.1109/ICSE.2019.00120
Google Scholar
Digital Library
- Neville Grech, Michael Kong, Anton Jurisevic, Lexi Brent, Bernhard Scholz, and Yannis Smaragdakis. 2018. Madmax: Surviving Out-of-Gas Conditions in Ethereum Smart Contracts. Proc. ACM Program. Lang., 2, OOPSLA (2018), 116:1–116:27. https://doi.org/10.1145/3276486
Google Scholar
Digital Library
- Todd J. Green, Shan Shan Huang, Boon Thau Loo, and Wenchao Zhou. 2013. Datalog and Recursive Query Processing. Foundations & Trends in Databases, https://doi.org/10.1561/1900000017
Google Scholar
Digital Library
- Todd J. Green, Grigoris Karvounarakis, and Val Tannen. 2007. Provenance Semirings. In Proceedings of the 26th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems. https://doi.org/10.1145/1265530.1265535
Google Scholar
Digital Library
- Salvatore Guarnieri and V. Benjamin Livshits. 2009. GATEKEEPER: Mostly Static Enforcement of Security and Reliability Policies for JavaScript Code. In Proceedings of the 18th USENIX Security Symposium. 78–85.
Google Scholar
- Arie Gurfinkel, Temesghen Kahsai, Anvesh Komuravelli, and Jorge A Navas. 2015. The SeaHorn Verification Framework. In Proceedings of the 27th International Conference on Computer Aided Verification. 343–361. https://doi.org/10.1007/978-3-319-21690-4_20
Google Scholar
Cross Ref
- Brian Hackett. 2010. Type Safety in the Linux Kernel. Ph. D. Dissertation. Stanford University.
Google Scholar
- Melanie Herschel, Mauricio A. Hernández, and Wang-Chiew Tan. 2009. Artemis: A System for Analyzing Missing Answers. Proc. VLDB Endow., https://doi.org/10.14778/1687553.1687588
Google Scholar
Digital Library
- Kryštof Hoder and Nikolaj Bjørner. 2012. Generalized Property Directed Reachability. In Proceedings of the 15th International Conference on Theory and Applications of Satisfiability Testing. 157–171. https://doi.org/10.1007/978-3-642-31612-8_13
Google Scholar
Digital Library
- Kryštof Hoder, Nikolaj Bjørner, and Leonardo de Moura. 2011. μ Z–An Efficient Engine for Fixed Points with Constraints. In Proceedings of the 23rd International Conference on Computer Aided Verification. 457–462. https://doi.org/10.1007/978-3-642-22110-1_36
Google Scholar
Cross Ref
- Joxan Jaffar and Jean-Louis Lassez. 1987. Constraint Logic Programming. In Proceedings of the 14th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages. 111–119. https://doi.org/10.1145/41625.41635
Google Scholar
Digital Library
- Joxan Jaffar and Michael J. Maher. 1994. Constraint Logic Programming: A Survey. The Journal of Logic Programming, 19 (1994), 503–581. https://doi.org/10.1016/0743-1066(94)90033-7
Google Scholar
Cross Ref
- Herbert Jordan, Bernhard Scholz, and Pavle Subotić. 2016. Soufflé: On Synthesis of Program Analyzers. In Proceedings of the 28th International Conference on Computer Aided Verification. https://doi.org/10.1007/978-3-319-41540-6_23
Google Scholar
Cross Ref
- Tobias Kaminski, Thomas Eiter, and Katsumi Inoue. 2018. Exploiting Answer Set Programming With External Sources for Meta-Interpretive Learning. Theory Pract. Log. Program., 18, 3-4 (2018), 571–588. https://doi.org/10.5555/3006652.3006712
Google Scholar
Digital Library
- Tobias Klenze, Sam Bayless, and Alan J. Hu. 2016. Fast, Flexible, and Minimal CTL Synthesis via SMT. In Proceedings of the 28th International Conference on Computer Aided Verification. 136–156. https://doi.org/10.1007/978-3-319-41528-4_8
Google Scholar
Cross Ref
- Mark Law, Alessandra Russo, Elisa Bertino, Krysia Broda, and Jorge Lobo. 2020. FastLAS: Scalable Inductive Logic Programming Incorporating Domain-Specific Optimisation Criteria. In Proceedings of the 34th Conference on Artificial Intelligence. 2877–2885. https://doi.org/10.1609/aaai.v34i03.5678
Google Scholar
Cross Ref
- Mark Law, Alessandra Russo, and Krysia Broda. 2015. Learning Weak Constraints in Answer Set Programming. Theory Pract. Log. Program., 15, 4-5 (2015), 511–525. https://doi.org/10.1017/S1471068415000198
Google Scholar
Cross Ref
- Mark Law, Alessandra Russo, and Krysia Broda. 2020. The ILASP System for Inductive Learning of Answer Set Programs. ALP Newsletter.
Google Scholar
- Mark Law, Alessandra Russo, Krysia Broda, and Elisa Bertino. 2021. Scalable Non-observational Predicate Learning in ASP. In Proceedings of the 30th International Joint Conference on Artificial Intelligence. 1936–1943.
Google Scholar
Cross Ref
- Joohyung Lee, Samidh Talsania, and Yi Wang. 2017. Computing LP^ MLN Using ASP and MLN Solvers. Theory Pract. Log. Program., 17, 5-6 (2017), 942–960. https://doi.org/10.1017/S1471068417000400
Google Scholar
Cross Ref
- Seokki Lee, Bertram Ludäscher, and Boris Glavic. 2019. PUG: A Framework and Practical Implementation for Why and Why-not Provenance. VLDB J., 28, 1 (2019), 47–71. https://doi.org/10.1007/s00778-018-0518-5
Google Scholar
Digital Library
- Ninghui Li and John C Mitchell. 2003. Datalog with Constraints: A Foundation for Trust Management Languages. In Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages. 58–73. https://doi.org/10.1007/3-540-36388-2_6
Google Scholar
Cross Ref
- Fangzhen Lin and Yuting Zhao. 2004. ASSAT: Computing Answer Sets of a Logic Program by SAT Solvers. Artif. Intell., 157, 1-2 (2004), 115–137. https://doi.org/10.1016/j.artint.2004.04.004
Google Scholar
Digital Library
- V. Benjamin Livshits and Monica S. Lam. 2005. Finding Security Vulnerabilities in Java Applications with Static Analysis. In Proceedings of the 14th USENIX Security Symposium. 271–286.
Google Scholar
- Boon Thau Loo, Tyson Condie, Minos Garofalakis, David E. Gay, Joseph M. Hellerstein, Petros Maniatis, Raghu Ramakrishnan, Timothy Roscoe, and Ion Stoica. 2006. Declarative Networking: Language, Execution and Optimization. In Proceedings of the ACM SIGMOD International Conference on Management of Data. 97–108. https://doi.org/10.1145/1142473.1142485
Google Scholar
Digital Library
- Shaul Markovitch and Paul D. Scott. 1993. Information Filtering: Selection Mechanisms in Learning Systems. Mach. Learn., 10, 2 (1993), 113–151. isbn:1573-0565 https://doi.org/10.1007/BF00993503
Google Scholar
Cross Ref
- David A McAllester. 1990. Truth Maintenance. In Proceedings of the 8th National Conference on Artificial Intelligence. 1109–1116.
Google Scholar
- Veena S. Mellarkod, Michael Gelfond, and Yuanlin Zhang. 2008. Integrating Answer Set Programming and Constraint Logic Programming. Ann. Math. Artif. Intell., 53, 1 (2008), 251–287. https://doi.org/10.1007/s10472-009-9116-y
Google Scholar
Digital Library
- Jonathan Mendelson, Aaditya Naik, Mukund Raghothaman, and Mayur Naik. 2021. GenSynth: Synthesizing Datalog Programs without Language Bias. In Proceedings of the 35th Conference on Artificial Intelligence. 6444–6453. https://doi.org/10.1609/aaai.v35i7.16799
Google Scholar
Cross Ref
- Leonardo de Moura and Nikolaj Bjørner. 2008. Z3: An Efficient SMT Solver. In Proceedings of the 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems. 337–340. https://doi.org/10.1007/978-3-540-78800-3_24
Google Scholar
Cross Ref
- Stephen Muggleton. 1991. Inductive Logic Programming. New Gener. Comput., 8, 4 (1991), 295–318. https://doi.org/10.1007/BF03037089
Google Scholar
Digital Library
- Robert Nieuwenhuis, Albert Oliveras, and Cesare Tinelli. 2006. Solving SAT and SAT Modulo Theories: From an Abstract Davis–Putnam–Logemann–Loveland Procedure to DPLL(T). J. ACM, 53, 6 (2006), 937–977. https://doi.org/10.1145/1217856.1217859
Google Scholar
Digital Library
- C. H. Papadimitriou. 1985. A note on the Expressive Power of Prolog. Bull. EATCS, 26 (1985), 21–22.
Google Scholar
- Teodor C Przymusinski. 1988. On the Declarative Semantics of Deductive Databases and Logic Programs. In Foundations of Deductive Databases and Logic Programming. Elsevier, 193–216. https://doi.org/10.1016/b978-0-934613-40-8.50009-9
Google Scholar
Cross Ref
- Mukund Raghothaman, Jonathan Mendelson, David Zhao, Mayur Naik, and Bernhard Scholz. 2020. Provenance-Guided Synthesis of Datalog Programs. Proc. ACM Program. Lang., 4, POPL (2020), 62:1–62:27. https://doi.org/10.1145/3371130
Google Scholar
Digital Library
- Thomas W. Reps. 1995. Demand Interprocedural Program Analysis Using Logic Databases. In Applications of Logic Databases. https://doi.org/10.1007/978-1-4615-2207-2_8
Google Scholar
Cross Ref
- Leonid Ryzhyk and Mihai Budiu. 2019. Differential Datalog. In Proceedings of the 3rd International Workshop on the Resurgence of Datalog in Academia and Industry. 56–67.
Google Scholar
- Bernhard Scholz, Herbert Jordan, Pavle Subotić, and Till Westmann. 2016. On Fast Large-Scale Program Analysis in Datalog. In Proceedings of the 25th International Conference on Compiler Construction. 196–206. https://doi.org/10.1145/2892208.2892226
Google Scholar
Digital Library
- Peter Schüller and Mishal Benz. 2018. Best-Effort Inductive Logic Programming via Fine-Grained Cost-Based Hypothesis Generation. Mach. Learn., 107, 7 (2018), 1141–1169. https://doi.org/10.1007/s10994-018-5708-2
Google Scholar
Digital Library
- Roberto Sebastiani. 2007. Lazy Satisfiability Modulo Theories. Journal on Satisfiability, Boolean Modeling and Computation, 3, 3-4 (2007), 141–224. https://doi.org/10.3233/SAT190034
Google Scholar
Cross Ref
- Xujie Si, Woosuk Lee, Richard Zhang, Aws Albarghouthi, Paraschos Koutris, and Mayur Naik. 2018. Syntax-Guided Synthesis of Datalog Programs. In Proceedings of the 2018 ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 515–527. https://doi.org/10.1145/3236024.3236034
Google Scholar
Digital Library
- Xujie Si, Mukund Raghothaman, Kihong Heo, and Mayur Naik. 2019. Synthesizing Datalog Programs Using Numerical Relaxation. In Proceedings of the 28th International Joint Conference on Artificial Intelligence. 6117–6124. https://doi.org/10.24963/ijcai.2019/847
Google Scholar
Cross Ref
- Armando Solar-Lezama, Liviu Tancau, Rastislav Bodik, Sanjit Seshia, and Vijay Saraswat. 2006. Combinatorial Sketching for Finite Programs. In Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems. 404–415. https://doi.org/10.1145/1168857.1168907
Google Scholar
Digital Library
- Aalok Thakkar, Aaditya Naik, Nathaniel Sands, Rajeev Alur, Mayur Naik, and Mukund Raghothaman. 2021. Example-Guided Synthesis of Relational Queries. In Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation. 1110–1125. https://doi.org/10.1145/3453483.3454098
Google Scholar
Digital Library
- Petar Tsankov, Andrei Dan, Dana Drachsler-Cohen, Arthur Gervais, Florian Buenzli, and Martin Vechev. 2018. Securify: Practical Security Analysis of Smart Contracts. In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security. 67–82. https://doi.org/10.1145/3243734.3243780
Google Scholar
Digital Library
- Allen Van Gelder. 1989. Negation as Failure Using Tight Derivations for General Logic Programs. The Journal of Logic Programming, 6, 1-2 (1989), 109–133. https://doi.org/10.1016/0743-1066(89)90032-0
Google Scholar
Digital Library
- Allen Van Gelder, Kenneth A. Ross, and John S. Schlipf. 1991. The Well-Founded Semantics for General Logic Programs. J. ACM, 38, 3 (1991), 619–649. https://doi.org/10.1145/116825.116838
Google Scholar
Digital Library
- Moshe Y. Vardi. 1982. The Complexity of Relational Query Languages (Extended Abstract). In Proceedings of the 14th Annual ACM Symposium on Theory of Computing. 137–146. https://doi.org/10.1145/800070.802186
Google Scholar
Digital Library
- Antonius Weinzierl. 2017. Blending Lazy-Grounding and CDNL Search for Answer-Set Solving. In Proceedings of the 14th International Conference on Logic Programming and Nonmonotonic Reasoning. 191–204. https://doi.org/10.1007/978-3-319-61660-5_17
Google Scholar
Cross Ref
- John Whaley and Monica S. Lam. 2004. Cloning-Based Context-Sensitive Pointer Alias Analysis Using Binary Decision Diagrams. In Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation. 131–144. https://doi.org/10.1145/996841.996859
Google Scholar
Digital Library
- Allison Woodruff and Michael Stonebraker. 1997. Supporting Fine-Grained Data Lineage in a Database Visualization Environment. In Proceedings of the Thirteenth International Conference on Data Engineering. 91–102. https://doi.org/10.1109/ICDE.1997.581742
Google Scholar
Cross Ref
- David Zhao, Pavle Subotić, and Bernhard Scholz. 2020. Debugging Large-scale Datalog: A Scalable Provenance Evaluation Strategy. ACM Trans. Program. Lang. Syst., 42, 2 (2020), 7:1–7:35. https://doi.org/10.1145/3379446
Google Scholar
Digital Library
Index Terms
From SMT to ASP: Solver-Based Approaches to Solving Datalog Synthesis-as-Rule-Selection Problems
Recommendations
Static analysis in datalog extensions
We consider the problems of containment, equivalence, satisfiability and query-reachability for datalog programs with negation. These problems are important for optimizing datalog programs. We show that both query-reachability and satisfiability are ...
Abstract Hilbertian deductive systems, infon logic, and Datalog
In the first part of the paper, we discuss abstract Hilbertian deductive systems; these are systems defined by abstract notions of formula, axiom, and inference rule. We use these systems to develop a general method for converting derivability problems, ...
On the complexity of single-rule datalog queries
Special issue: ICC '99Datalog programs containing a unique rule and possibly some facts are known as single rule programs, or sirups. We study the complexity of evaluating sirups over variable and fixed databases, respectively, as well as the descriptive complexity of sirups,...






Comments