Semantics-Guided Synthesis

08/22/2020
by   Jinwoo Kim, et al.
0

This paper develops a new framework for program synthesis, called semantics-guided synthesis (SemGuS), that allows a user to provide both the syntax and the semantics for the constructs in the language. SemGuS accepts a recursively defined big-step semantics, which allows it, for example, to be used to specify and solve synthesis problems over an imperative programming language that may contain loops with unbounded behavior. The customizable nature of SemGuS also allows synthesis problems to be defined over a non-standard semantics, such as an abstract semantics. In addition to the SemGuS framework, we develop an algorithm for solving SemGuS problems that is capable of both synthesizing programs and proving unrealizability, by encoding a SemGuS problem as a proof search over Constrained Horn Clauses: in particular, our approach is the first that we are aware of that can prove unrealizabilty for synthesis problems that involve imperative programs with unbounded loops, over an infinite syntactic search space. We implemented the technique in a tool called MESSY, and applied it to both SyGuS problems(i.e., over expressions) and synthesis problems over an imperative programming language.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/14/2019

Proving Unrealizability for Syntax-Guided Synthesis

Proving Unrealizability for Syntax-Guided Synthesis We consider the pr...
research
02/21/2023

Denotational Semantics and a Fast Interpreter for jq

jq is a widely used tool that provides a programming language to manipul...
research
12/23/2020

Representing Partial Programs with Blended Abstract Semantics

Synthesizing programs from examples requires searching over a vast, comb...
research
04/02/2020

Exact and Approximate Methods for Proving Unrealizability of Syntax-Guided Synthesis Problems

We consider the problem of automatically establishing that a given synta...
research
09/20/2017

Context-Updates Analysis and Refinement in Chisel

This paper presents the context-updates synthesis component of Chisel--a...
research
02/25/2023

Absynthe: Abstract Interpretation-Guided Synthesis

Synthesis tools have seen significant success in recent times. However, ...
research
10/10/2020

Automatically Deriving Control-Flow Graph Generators from Operational Semantics

We develop the first theory of control-flow graphs from first principles...

Please sign up or login with your details

Forgot password? Click here to reset