Write, Execute, Assess: Program Synthesis with a REPL
Authors
Authors
- Kevin Ellis
- Maxwell Nye
- Yewen Pu
- Felix Sosa
- Joshua Tenenbaum
- Armando Solar-Lezama
Authors
- Kevin Ellis
- Maxwell Nye
- Yewen Pu
- Felix Sosa
- Joshua Tenenbaum
- Armando Solar-Lezama
Published on
06/09/2019
Categories
We present a neural program synthesis approach integrating components which write, execute, and assess code to navigate the search space of possible programs. We equip the search process with an interpreter or a read-eval-print-loop (REPL), which immediately executes partially written programs, exposing their semantics. The REPL addresses a basic challenge of program synthesis: tiny changes in syntax can lead to huge changes in semantics. We train a pair of models, a policy that proposes the new piece of code to write, and a value function that assesses the prospects of the code written so-far. At test time we can combine these models with a Sequential Monte Carlo algorithm. We apply our approach to two domains: synthesizing text editing programs and inferring 2D and 3D graphics programs.
Please cite our work using the BibTeX below.
@article{DBLP:journals/corr/abs-1906-04604,
author = {Kevin Ellis and
Maxwell I. Nye and
Yewen Pu and
Felix Sosa and
Josh Tenenbaum and
Armando Solar{-}Lezama},
title = {Write, Execute, Assess: Program Synthesis with a {REPL}},
journal = {CoRR},
volume = {abs/1906.04604},
year = {2019},
url = {http://arxiv.org/abs/1906.04604},
archivePrefix = {arXiv},
eprint = {1906.04604},
timestamp = {Wed, 19 Feb 2020 18:55:53 +0100},
biburl = {https://dblp.org/rec/journals/corr/abs-1906-04604.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}