Write, Execute, Assess: Program Synthesis with a REPL
Kevin Ellis, Maxwell Nye, Yewen Pu, Felix Sosa, Josh Tenenbaum,, Armando Solar-Lezama

TL;DR
This paper introduces a neural program synthesis method that uses a REPL to execute and evaluate partial programs, improving the search process for generating correct code in text editing and graphics domains.
Contribution
It integrates a REPL with neural models for proposing and assessing code, enabling more effective search in program synthesis tasks.
Findings
Effective synthesis of text editing programs.
Successful inference of 2D and 3D graphics programs.
Improved search efficiency through REPL integration.
Abstract
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.
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
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsReinforcement Learning in Robotics · Software Engineering Research · Robot Manipulation and Learning
