Learning to Synthesize
Yingfei Xiong, Bo Wang, Guirong Fu, Linfei Zang

TL;DR
This paper introduces a flexible framework called learning to synthesis (L2S) that combines syntax, constraints, machine learning, and search algorithms to improve program estimation, demonstrated through automated program repair.
Contribution
The paper proposes the L2S framework, integrating multiple tools for program synthesis, and shows its effectiveness in repairing more bugs than existing methods using only project source code.
Findings
L2S can handle larger search spaces than previous systems.
L2S fixed 4 additional bugs outside ACS's search space.
L2S relies solely on source code from current projects.
Abstract
In many scenarios we need to find the most likely program under a local context, where the local context can be an incomplete program, a partial specification, natural language description, etc. We call such problem program estimation. In this paper we propose an abstract framework, learning to synthesis, or L2S in short, to address this problem. L2S combines four tools to achieve this: syntax is used to define the search space and search steps, constraints are used to prune off invalid candidates at each search step, machine-learned models are used to estimate conditional probabilities for the candidates at each search step, and search algorithms are used to find the best possible solution. The main goal of L2S is to lay out the design space to motivate the research on program estimation. We have performed a preliminary evaluation by instantiating this framework for synthesizing…
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.
