CrossBeam: Learning to Search in Bottom-Up Program Synthesis

03/20/2022
by   Kensen Shi, et al.
7

Many approaches to program synthesis perform a search within an enormous space of programs to find one that satisfies a given specification. Prior works have used neural models to guide combinatorial search algorithms, but such approaches still explore a huge portion of the search space and quickly become intractable as the size of the desired program increases. To tame the search space blowup, we propose training a neural model to learn a hands-on search policy for bottom-up synthesis, instead of relying on a combinatorial search algorithm. Our approach, called CrossBeam, uses the neural model to choose how to combine previously-explored programs into new programs, taking into account the search history and partial program executions. Motivated by work in structured prediction on learning to search, CrossBeam is trained on-policy using data extracted from its own bottom-up searches on training tasks. We evaluate CrossBeam in two very different domains, string manipulation and logic programming. We observe that CrossBeam learns to search efficiently, exploring much smaller portions of the program space compared to the state-of-the-art.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/03/2023

LambdaBeam: Neural Program Search with Higher-Order Functions and Lambdas

Search is an important technique in program synthesis that allows for ad...
research
01/08/2023

A Divide-Align-Conquer Strategy for Program Synthesis

A major bottleneck in search-based program synthesis is the exponentiall...
research
04/14/2021

Web Question Answering with Neurosymbolic Program Synthesis

In this paper, we propose a new technique based on program synthesis for...
research
11/02/2018

Value-based Search in Execution Space for Mapping Instructions to Programs

Training models to map natural language instructions to programs given t...
research
10/16/2020

Just-in-Time Learning for Bottom-Up Enumerative Synthesis

A key challenge in program synthesis is the astronomical size of the sea...
research
11/21/2017

Program Synthesis using Conflict-Driven Learning

We propose a new conflict-driven program synthesis technique that is cap...
research
06/09/2019

Write, Execute, Assess: Program Synthesis with a REPL

We present a neural program synthesis approach integrating components wh...

Please sign up or login with your details

Forgot password? Click here to reset