Satisfiability and Synthesis Modulo Oracles

07/28/2021
by   Elizabeth Polgreen, et al.
0

In classic program synthesis algorithms, such as counterexample-guided inductive synthesis (CEGIS), the algorithms alternate between a synthesis phase and an oracle (verification) phase. Many synthesis algorithms use a white-box oracle based on satisfiability modulo theory (SMT) solvers to provide counterexamples. But what if a white-box oracle is either not available or not easy to work with? We present a framework for solving a general class of oracle-guided synthesis problems which we term synthesis modulo oracles. In this setting, oracles may be black boxes with a query-response interface defined by the synthesis problem. As a necessary component of this framework, we also formalize the problem of satisfiability modulo theories and oracles, and present an algorithm for solving this problem. We implement a prototype solver for satisfiability and synthesis modulo oracles and demonstrate that, by using oracles that execute functions not easily modeled in SMT-constraints, such as recursive functions or oracles that incorporate compilation and execution of code, SMTO and SyMO are able to solve problems beyond the abilities of standard SMT and synthesis solvers.

READ FULL TEXT
research
11/29/2017

SyGuS Techniques in the Core of an SMT Solver

We give an overview of recent techniques for implementing syntax-guided ...
research
12/15/2017

A Decidable Fragment of Second Order Logic With Applications to Synthesis

We propose a fragment of many-sorted second order logic ESMT and show th...
research
03/26/2018

BoSy: An Experimentation Framework for Bounded Synthesis

We present BoSy, a reactive synthesis tool based on the bounded synthesi...
research
07/23/2019

CVC4SY for SyGuS-COMP 2019

CVC4Sy is a syntax-guided synthesis (SyGuS) solver based on bounded term...
research
10/16/2020

Embedding and Synthesis of Knowledge in Tree Ensemble Classifiers

This paper studies the embedding and synthesis of knowledge in tree ense...
research
04/11/2017

Counterexample Guided Inductive Optimization

This paper describes three variants of a counterexample guided inductive...
research
09/08/2022

Template-based Program Synthesis using Stellensätze

Template-based synthesis, also known as sketching, is a localized approa...

Please sign up or login with your details

Forgot password? Click here to reset