LGAIPLOct 24, 2021

Scaling Neural Program Synthesis with Distribution-based Search

arXiv:2110.12485v111 citations
Originality Incremental advance
AI Analysis

This work addresses program synthesis for developers or AI systems, but it is incremental as it builds on existing probabilistic and neural methods.

The authors tackled the problem of automatically constructing computer programs from input-output examples by proposing distribution-based search, introducing Heap Search and SQRT Sampling algorithms, and demonstrating scalability with parallel compute environments.

We consider the problem of automatically constructing computer programs from input-output examples. We investigate how to augment probabilistic and neural program synthesis methods with new search algorithms, proposing a framework called distribution-based search. Within this framework, we introduce two new search algorithms: Heap Search, an enumerative method, and SQRT Sampling, a probabilistic method. We prove certain optimality guarantees for both methods, show how they integrate with probabilistic and neural techniques, and demonstrate how they can operate at scale across parallel compute environments. Collectively these findings offer theoretical and applied studies of search algorithms for program synthesis that integrate with recent developments in machine-learned program synthesizers.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes