Latent Execution for Neural Program Synthesis
Xinyun Chen, Dawn Song, Yuandong Tian

TL;DR
LaSynth introduces a latent execution model that improves neural program synthesis for complex languages like C by learning to approximate program execution, enhancing search efficiency and synthesis quality.
Contribution
It proposes a novel latent execution approach that addresses syntax complexity and dataset scarcity in neural program synthesis for real-world languages.
Findings
Achieves 55.2% accuracy on simple C code synthesis
Outperforms existing approaches by around 20% without executors
Retraining with synthesized programs improves dataset quality and performance
Abstract
Program synthesis from input-output (IO) examples has been a long-standing challenge. While recent works demonstrated limited success on domain-specific languages (DSL), it remains highly challenging to apply them to real-world programming languages, such as C. Due to complicated syntax and token variation, there are three major challenges: (1) unlike many DSLs, programs in languages like C need to compile first and are not executed via interpreters; (2) the program search space grows exponentially when the syntax and semantics of the programming language become more complex; and (3) collecting a large-scale dataset of real-world programs is non-trivial. As a first step to address these challenges, we propose LaSynth and show its efficacy in a restricted-C domain. More specifically, LaSynth learns the latent representation to approximate the execution of partially generated 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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Parallel Computing and Optimization Techniques
