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

被引:4
作者
Bembenek, Aaron [1 ]
Greenberg, Michael [2 ]
Chong, Stephen [1 ]
机构
[1] Harvard Univ, Cambridge, MA 02138 USA
[2] Stevens Inst Technol, Hoboken, NJ 07030 USA
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2023年 / 7卷 / POPL期
关键词
program synthesis; Datalog; inductive logic programming; satisfiability; ANSWER; SAT; CONSTRAINTS; GROUNDER; PROGRAM;
D O I
10.1145/3571200
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 (similar to 9x 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.
引用
收藏
页码:185 / 217
页数:33
相关论文
共 91 条
[1]   An Overview of the Saturn Project [J].
Aiken, Alex ;
Bugrara, Suhabe ;
Dillig, Isil ;
Dillig, Thomas ;
Hackett, Brian ;
Hawkins, Peter .
PASTE'07 PROCEEDINGS OF THE 2007 ACM SIGPLAN- SIGSOFT WORKSHOP ON PROGRAM ANALYSIS FOR SOFTWARE TOOLS & ENGINEERING, 2007, :43-48
[2]   Constraint-Based Synthesis of Datalog Programs [J].
Albarghouthi, Aws ;
Koutris, Paraschos ;
Naik, Mayur ;
Smith, Calvin .
PRINCIPLES AND PRACTICE OF CONSTRAINT PROGRAMMING (CP 2017), 2017, 10416 :689-706
[3]  
Alvaro Peter, 2010, Datalog Reloaded. First International Workshop, Datalog 2010. Revised Selected Papers, P262, DOI 10.1007/978-3-642-24206-9_16
[4]  
Alvaro P, 2010, EUROSYS'10: PROCEEDINGS OF THE EUROSYS 2010 CONFERENCE, P223
[5]  
Alviano M, 2013, LECT NOTES COMPUT SC, V8148, P54, DOI 10.1007/978-3-642-40564-8_6
[6]  
Apt K.R., 1988, THEORY DECLARATIVE K, P89
[7]   Learning Through Hypothesis Refinement Using Answer Set Programming [J].
Athakravi, Duangtida ;
Corapi, Domenico ;
Broda, Krysia ;
Russo, Alessandra .
INDUCTIVE LOGIC PROGRAMMING: 23RD INTERNATIONAL CONFERENCE, 2014, 8812 :31-46
[8]   Reachability Analysis for AWS-Based Networks [J].
Backes, John ;
Bayless, Sam ;
Cook, Byron ;
Dodge, Catherine ;
Gacek, Andrew ;
Hu, Alan J. ;
Kahsai, Temesghen ;
Kocik, Bill ;
Kotelnikov, Evgenii ;
Kukovec, Jure ;
McLaughlin, Sean ;
Reed, Jason ;
Rungta, Neha ;
Sizemore, John ;
Stalzer, Mark ;
Srinivasan, Preethi ;
Subotic, Pavle ;
Varming, Carsten ;
Whaley, Blake .
COMPUTER AIDED VERIFICATION, CAV 2019, PT II, 2019, 11562 :231-241
[9]  
Balai Evgenii, 2016, P 25 INT JOINT C ART, P915
[10]  
Barrett Clark, 2011, Computer Aided Verification. Proceedings 23rd International Conference, CAV 2011, P171, DOI 10.1007/978-3-642-22110-1_14