BUSTLE: Bottom-Up Program Synthesis Through Learning-Guided Exploration
Augustus Odena, Kensen Shi, David Bieber, Rishabh Singh, Charles, Sutton, Hanjun Dai

TL;DR
BUSTLE introduces a novel program synthesis method that combines bottom-up search with learned guidance to efficiently generate programs from input-output examples, leveraging semantic information and flexible composition.
Contribution
This work presents a new learning-guided bottom-up synthesis approach that improves search efficiency by prioritizing program compositions based on learned models.
Findings
Effective on SyGuS dataset and custom dataset
Outperforms baseline search methods
Leverages semantic execution information
Abstract
Program synthesis is challenging largely because of the difficulty of search in a large space of programs. Human programmers routinely tackle the task of writing complex programs by writing sub-programs and then analyzing their intermediate results to compose them in appropriate ways. Motivated by this intuition, we present a new synthesis approach that leverages learning to guide a bottom-up search over programs. In particular, we train a model to prioritize compositions of intermediate values during search conditioned on a given set of input-output examples. This is a powerful combination because of several emergent properties. First, in bottom-up search, intermediate programs can be executed, providing semantic information to the neural network. Second, given the concrete values from those executions, we can exploit rich features based on recent work on property signatures. Finally,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Parallel Computing and Optimization Techniques
