Learning to Combine Per-Example Solutions for Neural Program Synthesis

06/14/2021
by   Disha Shrivastava, et al.
0

The goal of program synthesis from examples is to find a computer program that is consistent with a given set of input-output examples. Most learning-based approaches try to find a program that satisfies all examples at once. Our work, by contrast, considers an approach that breaks the problem into two stages: (a) find programs that satisfy only one example, and (b) leverage these per-example solutions to yield a program that satisfies all examples. We introduce the Cross Aggregator neural network module based on a multi-head attention mechanism that learns to combine the cues present in these per-example solutions to synthesize a global solution. Evaluation across programs of different lengths and under two different experimental settings reveal that when given the same time budget, our technique significantly improves the success rate over PCCoder [Zohar et. al 2018] and other ablation baselines. The code, data and trained models for our work can be found at https://github.com/shrivastavadisha/N-PEPS.

READ FULL TEXT

page 2

page 18

research
02/21/2017

Synthesizing Imperative Programs from Examples Guided by Static Analysis

We present a novel algorithm that synthesizes imperative programs for in...
research
09/12/2018

Automatic Program Synthesis of Long Programs with a Learned Garbage Collector

We consider the problem of generating automatic code given sample input-...
research
06/22/2021

SynGuar: Guaranteeing Generalization in Programming by Example

Programming by Example (PBE) is a program synthesis paradigm in which th...
research
03/09/2023

Hierarchical Neural Program Synthesis

Program synthesis aims to automatically construct human-readable program...
research
09/22/2020

Inductive Program Synthesis Over Noisy Data

We present a new framework and associated synthesis algorithms for progr...
research
09/08/2018

Neural Guided Constraint Logic Programming for Program Synthesis

Synthesizing programs using example input/outputs is a classic problem i...
research
11/09/2017

Learning to select examples for program synthesis

Program synthesis is a class of regression problems where one seeks a so...

Please sign up or login with your details

Forgot password? Click here to reset