Program Synthesis with Best-First Bottom-Up Search
Not on the map. Why?
Abstract (arXiv)
Cost-guided bottom-up search (BUS) algorithms use a cost function to guide the search to solve program synthesis tasks. In this paper, we show that current state-of-the-art cost-guided BUS algorithms suffer from a common problem: they can lose useful information given by the model and fail to perform the search in a best-first order according to a cost function. We introduce a novel best-first bottom-up search algorithm, which we call Bee Search, that does not suffer information loss and is able to perform cost-guided bottom-up synthesis in a best-first manner. Importantly, Bee Search performs best-first search with respect to the generation of programs, i.e., it does not even create in memory programs that are more expensive than the solution program. It attains best-first ordering with respect to generation by performing a search in an abstract space of program costs. We also introduce a new cost function that better uses the information provided by an existing cost model. Empirical results on string manipulation and bit-vector tasks show that Bee Search can outperform existing cost-guided BUS approaches when employing more complex domain-specific languages (DSLs); Bee Search and previous approaches perform equally well with simpler DSLs. Furthermore, our new cost function with Bee Search outperforms previous cost functions on string manipulation tasks.
Key facts. Cited by 7 papers in the map (data through 7 Oct 2026). Builds on 16 of its 54 references that are in the map. First posted on arXiv 6 Oct 2023.
Builds on
16 of 54 references.
References · 16
- 2018Programmatically Interpretable Reinforcement Learningcited by 192
- 2018Verifiable Reinforcement Learning via Policy Extractioncited by 176
- 2020DreamCoder: Growing generalizable, interpretable knowledge with wake-sleep Bayesian program learningcited by 159
- 2016DeepCoder: Learning to Write Programscited by 145
- 2017RobustFill: Neural Program Learning under Noisy I/Ocited by 124
- 2018Leveraging Grammar and Reinforcement Learning for Neural Program Synthesiscited by 83
- 2018Neural-Guided Deductive Search for Real-Time Program Synthesis from Examplescited by 39
- 2020BUSTLE: Bottom-Up Program Synthesis Through Learning-Guided Explorationcited by 30
- 2020TF-Coder: Program Synthesis for Tensor Manipulationscited by 27
- 2018Automatic Program Synthesis of Long Programs with a Learned Garbage Collectorcited by 24
- 2020Just-in-Time Learning for Bottom-Up Enumerative Synthesiscited by 18
- 2020Learning to Represent Programs with Property Signaturescited by 16
4 more
- 2019Synthetic Datasets for Neural Program Synthesiscited by 15
- 2017Program Synthesis using Abstraction Refinementcited by 12
- 2021Scaling Neural Program Synthesis with Distribution-based Searchcited by 6
- 2016SyGuS-Comp 2016: Results and Analysiscited by 2
Built on by
Citing papers per year: 2024: 2; 2025: 2; 2026: 3.
7 papers.
- 2024Relational decomposition for program synthesiscited by 6
- 2026Gradient-Based Program Synthesis with Neurally Interpreted Languagescited by 3
- 2024Reclaiming the Source of Programmatic Policies: Programmatic versus Latent Spacescited by 2
- 2025Herb.jl: A Unifying Program Synthesis Librarycited by 1
- 2025An Empirical Comparison of Cost Functions in Inductive Logic Programmingcited by 0
- 2026Narcissus: Program Synthesis Using Context-Aware LLM Approximationscited by 0
- 2026Synthesizing Reactive Character Behaviors for Continuous Games via Programmatic Policy Searchcited by 0
- 2026Synthesizing Reactive Character Behaviors for Continuous Games via Programmatic Policy Search21 Sep 2026
- 2026Narcissus: Program Synthesis Using Context-Aware LLM Approximations26 Aug 2026
- 2026Gradient-Based Program Synthesis with Neurally Interpreted Languages20 Apr 2026
- 2025Herb.jl: A Unifying Program Synthesis Library10 Oct 2025
- 2025An Empirical Comparison of Cost Functions in Inductive Logic Programming10 Mar 2025
- 2024Reclaiming the Source of Programmatic Policies: Programmatic versus Latent Spaces16 Oct 2024
- 2024Relational decomposition for program synthesis22 Aug 2024