Neural Program Synthesis with a Differentiable Fixer

06/19/2020
by   Matej Balog, et al.
0

We present a new program synthesis approach that combines an encoder-decoder based synthesis architecture with a differentiable program fixer. Our approach is inspired from the fact that human developers seldom get their program correct on the first attempt, and perform iterative testing-based program fixing to get to the desired program functionality. Similarly, our approach first learns a distribution over programs conditioned on an encoding of a set of input-output examples, and then iteratively performs fix operations using the differentiable fixer. The fixer takes as input the original examples and the current program's outputs on example inputs, and generates a new distribution over the programs with the goal of reducing the discrepancies between the current program outputs and the desired example outputs. We train our architecture end-to-end on the RobustFill domain, and show that the addition of the fixer module leads to a significant improvement on synthesis accuracy compared to using beam search.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/16/2020

Synthesize, Execute and Debug: Learning to Repair for Neural Program Synthesis

The use of deep learning techniques has achieved significant progress fo...
research
03/13/2023

Improved Tree Search for Automatic Program Synthesis

In the task of automatic program synthesis, one obtains pairs of matchin...
research
05/21/2016

Programming with a Differentiable Forth Interpreter

Given that in practice training data is scarce for all but a small set o...
research
04/05/2022

Efficient Pragmatic Program Synthesis with Informative Specifications

Providing examples is one of the most common way for end-users to intera...
research
11/09/2017

Learning to select examples for program synthesis

Program synthesis is a class of regression problems where one seeks a so...
research
11/15/2017

WebRelate: Integrating Web Data with Spreadsheets using Examples

Data integration between web sources and relational data is a key challe...
research
06/22/2020

Information-theoretic User Interaction: Significant Inputs for Program Synthesis

Programming-by-example technologies are being deployed in industrial pro...

Please sign up or login with your details

Forgot password? Click here to reset