Program Synthesis as Dependency Quantified Formula Modulo Theory

Program Synthesis as Dependency Quantified Formula Modulo Theory

Priyanka Golia, Subhajit Roy, Kuldeep S. Meel

Proceedings of the Thirtieth International Joint Conference on Artificial Intelligence
Main Track. Pages 1894-1900. https://doi.org/10.24963/ijcai.2021/261

Given a specification φ(X, Y ) over inputs X and output Y and defined over a background theory T, the problem of program synthesis is to design a program f such that Y = f (X), satisfies the specification φ. Over the past decade, syntax-guided synthesis (SyGuS) has emerged as a dominant approach to program synthesis where in addition to the specification φ, the end-user also specifies a grammar L to aid the underlying synthesis engine. This paper investigates the feasibility of synthesis techniques without grammar, a sub-class defined as T constrained synthesis. We show that T-constrained synthesis can be reduced to DQF(T),i.e., to the problem of finding a witness of a dependency quantified formula modulo theory. When the underlying theory is the theory of bitvectors, the corresponding DQF problem can be further reduced to Dependency Quantified Boolean Formulas (DQBF). We rely on the progress in DQBF solving to design DQBF-based synthesizers that outperform the domain-specific program synthesis techniques; thereby positioning DQBF as a core representation language for program synthesis. Our empirical analysis shows that T-constrained synthesis can achieve significantly better performance than syntax-guided approaches. Furthermore, the general-purpose DQBF solvers perform on par with domain-specific synthesis techniques.
Keywords:
Knowledge Representation and Reasoning: Knowledge Representation Languages
Constraints and SAT: Satisfiability Modulo Theories