JOURNAL ARTICLE

Provenance-guided synthesis of Datalog programs

Mukund RaghothamanJonathan MendelsonDavid ZhaoMayur NaikBernhard Scholz

Year: 2019 Journal:   Proceedings of the ACM on Programming Languages Vol: 4 (POPL)Pages: 1-27   Publisher: Association for Computing Machinery

Abstract

We propose a new approach to synthesize Datalog programs from input-output specifications. Our approach leverages query provenance to scale the counterexample-guided inductive synthesis (CEGIS) procedure for program synthesis. In each iteration of the procedure, a SAT solver proposes a candidate Datalog program, and a Datalog solver evaluates the proposed program to determine whether it meets the desired specification. Failure to satisfy the specification results in additional constraints to the SAT solver. We propose efficient algorithms to learn these constraints based on “ why ” and “ why not ” provenance information obtained from the Datalog solver. We have implemented our approach in a tool called ProSynth and present experimental results that demonstrate significant improvements over the state-of-the-art, including in synthesizing invented predicates, reducing running times, and in decreasing variances in synthesis performance. On a suite of 40 synthesis tasks from three different domains, ProSynth is able to synthesize the desired program in 10 seconds on average per task—an order of magnitude faster than baseline approaches—and takes only under a second each for 28 of them.

Keywords:
Datalog Computer science Solver Programming language Counterexample Suite Task (project management) Satisfiability modulo theories Program synthesis Theoretical computer science Parallel computing Mathematics Discrete mathematics

Metrics

47
Cited By
11.22
FWCI (Field Weighted Citation Impact)
38
Refs
0.98
Citation Normalized Percentile
Is in top 1%
Is in top 10%

Citation History

Topics

Scientific Computing and Data Management
Social Sciences →  Decision Sciences →  Information Systems and Management
Software Engineering Research
Physical Sciences →  Computer Science →  Information Systems
Software Testing and Debugging Techniques
Physical Sciences →  Computer Science →  Software

Related Documents

JOURNAL ARTICLE

Selective provenance for datalog programs using top-k queries

Daniel DeutchAmir GiladYuval Moskovitch

Journal:   Proceedings of the VLDB Endowment Year: 2015 Vol: 8 (12)Pages: 1394-1405
BOOK-CHAPTER

Constraint-Based Synthesis of Datalog Programs

Aws AlbarghouthiParaschos KoutrisMayur NaikCalvin Smith

Lecture notes in computer science Year: 2017 Pages: 689-706
BOOK

Optimizing Datalog Programs

Yehoshua Sagiv

Elsevier eBooks Year: 1988 Pages: 659-698
© 2026 ScienceGate Book Chapters — All rights reserved.