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 (18)
- Unlocking Compositional Generalization in Pre-trained Models Using Intermediate Representations
- Compositional generalization through meta sequence-to-sequence learning
- Learning Compositional Rules via Neural Program Synthesis
- Learning to Represent Programs with Property Signatures
- Latent Programmer: Discrete Latent Codes for Program Synthesis
- BUSTLE: Bottom-Up Program Synthesis Through Learning-Guided Exploration
- Learning Semantic Parsers from Denotations with Latent Structured Alignments and Abstract Programs
- Sketch-Driven Regular Expression Generation from Natural Language and Examples
- Robot Action Selection Learning via Layered Dimension Informed Program Synthesis
- 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
- Optimal Neural Program Synthesis from Multimodal Specifications
- TransRegex: Multi-modal Regular Expression Synthesis by Generate-and-Repair
- Learning to Combine Per-Example Solutions for Neural Program Synthesis
- Latent Execution for Neural Program Synthesis
- On Adversarial Robustness of Synthetic Code Generation