Synthesizing Programs with Continuous Optimization
- URL: http://arxiv.org/abs/2211.00828v2
- Date: Mon, 3 Apr 2023 05:32:59 GMT
- Title: Synthesizing Programs with Continuous Optimization
- Authors: Shantanu Mandal, Todd A. Anderson, Javier Turek, Justin Gottschlich,
Abdullah Muzahid
- Abstract summary: We present a novel formulation of program synthesis as a continuous optimization problem.
We then propose a mapping scheme to convert the continuous formulation into actual programs.
- Score: 4.457604452495174
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Automatic software generation based on some specification is known as program
synthesis. Most existing approaches formulate program synthesis as a search
problem with discrete parameters. In this paper, we present a novel formulation
of program synthesis as a continuous optimization problem and use a
state-of-the-art evolutionary approach, known as Covariance Matrix Adaptation
Evolution Strategy to solve the problem. We then propose a mapping scheme to
convert the continuous formulation into actual programs. We compare our system,
called GENESYS, with several recent program synthesis techniques (in both
discrete and continuous domains) and show that GENESYS synthesizes more
programs within a fixed time budget than those existing schemes. For example,
for programs of length 10, GENESYS synthesizes 28% more programs than those
existing schemes within the same time budget.
Related papers
- ExeDec: Execution Decomposition for Compositional Generalization in Neural Program Synthesis [54.18659323181771]
We characterize several different forms of compositional generalization that are desirable in program synthesis.
We propose ExeDec, a novel decomposition-based strategy that predicts execution subgoals to solve problems step-by-step informed by program execution at each step.
arXiv Detail & Related papers (2023-07-26T01:07:52Z) - Genetic Algorithm for Program Synthesis [6.85316573653194]
We improve the search strategy of a deductive program synthesis tool, SuSLik, using evolutionary computation.
Our cross-validation shows that the improvement brought by evolutionary computation generalises to unforeseen problems.
arXiv Detail & Related papers (2022-11-22T01:16:13Z) - A Conversational Paradigm for Program Synthesis [110.94409515865867]
We propose a conversational program synthesis approach via large language models.
We train a family of large language models, called CodeGen, on natural language and programming language data.
Our findings show the emergence of conversational capabilities and the effectiveness of the proposed conversational program synthesis paradigm.
arXiv Detail & Related papers (2022-03-25T06:55:15Z) - Iterative Genetic Improvement: Scaling Stochastic Program Synthesis [11.195558777385259]
Program synthesis aims to it automatically find programs from an underlying programming language that satisfy a given specification.
Existing program synthesis techniques do not meet this expectation very well, suffering from the scalability issue.
Here we propose a new framework for program synthesis, called iterative genetic improvement to overcome this problem.
arXiv Detail & Related papers (2022-02-26T02:00:35Z) - Recent Developments in Program Synthesis with Evolutionary Algorithms [1.8047694351309207]
We identify the relevant evolutionary program synthesis approaches and provide an in-depth analysis of their performance.
The most influential approaches we identify are stack-based, grammar-guided, as well as linear genetic programming.
For future work, we encourage researchers not only to use a program's output for assessing the quality of a solution but also the way towards a solution.
arXiv Detail & Related papers (2021-08-27T11:38:27Z) - Latent Execution for Neural Program Synthesis Beyond Domain-Specific
Languages [97.58968222942173]
We take the first step to synthesize C programs from input-output examples.
In particular, we propose La Synth, which learns the latent representation to approximate the execution of partially generated programs.
We show that training on these synthesized programs further improves the prediction performance for both Karel and C program synthesis.
arXiv Detail & Related papers (2021-06-29T02:21:32Z) - Optimal Neural Program Synthesis from Multimodal Specifications [45.35689345004124]
Multimodal program synthesis is an attractive way to scale program synthesis to challenging settings.
This paper proposes an optimal neural synthesis approach where the goal is to find a program that satisfies user-provided constraints.
arXiv Detail & Related papers (2020-10-04T20:51:21Z) - Synthesize, Execute and Debug: Learning to Repair for Neural Program
Synthesis [81.54148730967394]
We propose SED, a neural program generation framework that incorporates synthesis, execution, and debug stages.
SED first produces initial programs using the neural program synthesizer component, then utilizes a neural program debugger to iteratively repair the generated programs.
On Karel, a challenging input-output program synthesis benchmark, SED reduces the error rate of the neural program synthesizer itself by a considerable margin, and outperforms the standard beam search for decoding.
arXiv Detail & Related papers (2020-07-16T04:15:47Z) - Creating Synthetic Datasets via Evolution for Neural Program Synthesis [77.34726150561087]
We show that some program synthesis approaches generalize poorly to data distributions different from that of the randomly generated examples.
We propose a new, adversarial approach to control the bias of synthetic data distributions and show that it outperforms current approaches.
arXiv Detail & Related papers (2020-03-23T18:34:15Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.