Learning to Infer Program Sketches
arXiv:1902.06349
Abstract
Our goal is to build systems which write code automatically from the kinds of specifications humans can most easily provide, such as examples and natural language instruction. The key idea of this work is that a flexible combination of pattern recognition and explicit reasoning can be used to solve these complex programming problems. We propose a method for dynamically integrating these types of information. Our novel intermediate representation and training algorithm allow a program synthesis system to learn, without direct supervision, when to rely on pattern recognition and when to perform symbolic search. Our model matches the memorization and generalization performance of neural synthesis and symbolic search, respectively, and achieves state-of-the-art performance on a dataset of simple English description-to-code programming problems.
Accepted to ICML 2019
Cited by in corpus (8)
- Unlocking Compositional Generalization in Pre-trained Models Using Intermediate Representations
- Learning to Represent Programs with Property Signatures
- Neural Program Synthesis with a Differentiable Fixer
- M3: Semantic API Migrations
- Algebra-based Synthesis of Loops and their Invariants (Invited Paper)
- Benchmarking Multimodal Regex Synthesis with Complex Structures
- TransRegex: Multi-modal Regular Expression Synthesis by Generate-and-Repair
- On Adversarial Robustness of Synthetic Code Generation