skip to main content

From SMT to ASP: Solver-Based Approaches to Solving Datalog Synthesis-as-Rule-Selection Problems

Published:11 January 2023Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarCross RefCross Ref
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarCross RefCross Ref
  7. 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 ScholarGoogle ScholarCross RefCross Ref
  8. 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 ScholarGoogle ScholarCross RefCross Ref
  9. 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 ScholarGoogle Scholar
  10. Clark Barrett, Pascal Fontaine, and Cesare Tinelli. 2016. The Satisfiability Modulo Theories Library (SMT-LIB). www.SMT-LIB.org Google ScholarGoogle Scholar
  11. 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 ScholarGoogle ScholarCross RefCross Ref
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarCross RefCross Ref
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. Gerhard Brewka, Thomas Eiter, and Miroslaw Truszczynski. 2011. Answer Set Programming at a Glance. Commun. ACM, https://doi.org/10.1145/2043174.2043195 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarCross RefCross Ref
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarCross RefCross Ref
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. Andrew Cropper and Rolf Morel. 2021. Learning Programs by Learning From Failures. Mach. Learn., https://doi.org/10.1007/s10994-020-05934-z Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarCross RefCross Ref
  27. 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 ScholarGoogle ScholarCross RefCross Ref
  28. 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 ScholarGoogle Scholar
  29. Antonio Flores-Montoya and Eric M. Schulte. 2020. Datalog Disassembly. In Proceedings of the 29th USENIX Security Symposium. 1075–1092. Google ScholarGoogle Scholar
  30. 1978. Logic and Data Bases, Hervé Gallaire and Jack Minker (Eds.). Plenum Press. Google ScholarGoogle Scholar
  31. 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 ScholarGoogle Scholar
  32. 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 ScholarGoogle ScholarCross RefCross Ref
  33. Martin Gebser, Benjamin Kaufmann, Roland Kaminski, Max Ostrowski, Torsten Schaub, and Marius Schneider. 2011. Potassco: The Potsdam Answer Set Solving Collection. AI Commun.. Google ScholarGoogle Scholar
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle ScholarCross RefCross Ref
  37. 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 ScholarGoogle Scholar
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  39. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  40. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  43. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  44. 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 ScholarGoogle Scholar
  45. 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 ScholarGoogle ScholarCross RefCross Ref
  46. Brian Hackett. 2010. Type Safety in the Linux Kernel. Ph. D. Dissertation. Stanford University. Google ScholarGoogle Scholar
  47. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  48. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  49. 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 ScholarGoogle ScholarCross RefCross Ref
  50. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  51. 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 ScholarGoogle ScholarCross RefCross Ref
  52. 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 ScholarGoogle ScholarCross RefCross Ref
  53. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  54. 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 ScholarGoogle ScholarCross RefCross Ref
  55. 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 ScholarGoogle ScholarCross RefCross Ref
  56. 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 ScholarGoogle ScholarCross RefCross Ref
  57. Mark Law, Alessandra Russo, and Krysia Broda. 2020. The ILASP System for Inductive Learning of Answer Set Programs. ALP Newsletter. Google ScholarGoogle Scholar
  58. 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 ScholarGoogle ScholarCross RefCross Ref
  59. 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 ScholarGoogle ScholarCross RefCross Ref
  60. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  61. 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 ScholarGoogle ScholarCross RefCross Ref
  62. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  63. 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 ScholarGoogle Scholar
  64. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  65. 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 ScholarGoogle ScholarCross RefCross Ref
  66. David A McAllester. 1990. Truth Maintenance. In Proceedings of the 8th National Conference on Artificial Intelligence. 1109–1116. Google ScholarGoogle Scholar
  67. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  68. 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 ScholarGoogle ScholarCross RefCross Ref
  69. 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 ScholarGoogle ScholarCross RefCross Ref
  70. Stephen Muggleton. 1991. Inductive Logic Programming. New Gener. Comput., 8, 4 (1991), 295–318. https://doi.org/10.1007/BF03037089 Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  72. C. H. Papadimitriou. 1985. A note on the Expressive Power of Prolog. Bull. EATCS, 26 (1985), 21–22. Google ScholarGoogle Scholar
  73. 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 ScholarGoogle ScholarCross RefCross Ref
  74. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  75. 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 ScholarGoogle ScholarCross RefCross Ref
  76. 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 ScholarGoogle Scholar
  77. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  78. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  79. 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 ScholarGoogle ScholarCross RefCross Ref
  80. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  81. 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 ScholarGoogle ScholarCross RefCross Ref
  82. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  83. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  84. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  85. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  86. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  87. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  88. 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 ScholarGoogle ScholarCross RefCross Ref
  89. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  90. 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 ScholarGoogle ScholarCross RefCross Ref
  91. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. From SMT to ASP: Solver-Based Approaches to Solving Datalog Synthesis-as-Rule-Selection Problems

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Article Metrics

            • Downloads (Last 12 months)230
            • Downloads (Last 6 weeks)41

            Other Metrics

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!