SynRG: Syntax Guided Synthesis of Expressions with Alternating Quantifiers

07/20/2020
by   Elizabeth Polgreen, et al.
0

Program synthesis is the task of automatically generating expressions that satisfy a given specification. Program synthesis techniques have been used to automate the generation of loop invariants in code, synthesize function summaries, and to assist programmers via program sketching. Syntax-guided synthesis has been a successful paradigm in this area, however, one area where the state-of-the-art solvers fall-down is reasoning about potentially unbounded data structures such as arrays where both specifications and solutions may require quantifiers and quantifier alternations. We present SynRG, a synthesis algorithm based on restricting the synthesis problem to generate candidate solutions with quantification over a finite domain, and then generalizing these candidate solutions to the unrestricted domain of the original specification. We report experiments on invariant synthesis benchmarks and on program sketching benchmarks taken from the Java StringUtils class and show that our technique can synthesize expressions out of reach of all existing solvers.

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
01/25/2020

CounterExample Guided Neural Synthesis

Program synthesis is the generation of a program from a specification. C...
research
12/31/2019

Towards Neural-Guided Program Synthesis for Linear Temporal Logic Specifications

Synthesizing a program that realizes a logical specification is a classi...
research
07/13/2023

Reinforcement Learning for Syntax-Guided Synthesis

Program synthesis is the task of automatically generating code based on ...
research
05/19/2021

Program Synthesis as Dependency Quantified Formula Modulo Theory

Given a specification φ(X,Y) over inputs X and output Y, defined over a ...
research
02/25/2021

RbSyn: Type- and Effect-Guided Program Synthesis

In recent years, researchers have explored component-based synthesis, wh...
research
02/24/2022

Black-Box Algorithm Synthesis – Divide-and-Conquer and More

Algorithm synthesis is a newly emerging branch of program synthesis, tar...

Please sign up or login with your details

Forgot password? Click here to reset