DeepCoder: Learning to Write Programs
arXiv:1611.01989
Abstract
We develop a first line of attack for solving programming competition-style problems from input-output examples using deep learning. The approach is to train a neural network to predict properties of the program that generated the outputs from the inputs. We use the neural network's predictions to augment search techniques from the programming languages community, including enumerative search and an SMT-based solver. Empirically, we show that our approach leads to an order of magnitude speedup over the strong non-augmented baselines and a Recurrent Neural Network approach, and that we are able to solve problems of difficulty comparable to the simplest problems on programming competition websites.
Submitted to ICLR 2017
Cited by in corpus (77)
- Evaluating Large Language Models Trained on Code
- Deep Reinforcement Learning: An Overview
- Neural-Symbolic VQA: Disentangling Reasoning from Vision and Language Understanding
- AutoML-Zero: Evolving Machine Learning Algorithms From Scratch
- A Syntactic Neural Model for General-Purpose Code Generation
- Review: Deep Learning in Electron Microscopy
- Relay: A New IR for Machine Learning Frameworks
- Improved Automatic Summarization of Subroutines via Attention to File Context
- Programmatically Interpretable Reinforcement Learning
- Tree-to-tree Neural Networks for Program Translation
- Learning to Infer and Execute 3D Shape Programs
- Neural-Guided Deductive Search for Real-Time Program Synthesis from Examples
- Context2Name: A Deep Learning-Based Approach to Infer Natural Variable Names from Usage Contexts
- Abstract Syntax Networks for Code Generation and Semantic Parsing
- Learning Compositional Rules via Neural Program Synthesis
- Program Synthesis with Large Language Models
- Neural Program Synthesis with Priority Queue Training
- TF-Coder: Program Synthesis for Tensor Manipulations
- Generalization in anti-causal learning
- Dorylus: Affordable, Scalable, and Accurate GNN Training with Distributed CPU Servers and Serverless Threads
- Learning Compositional Neural Programs with Recursive Tree Search and Planning
- Learning to Represent Programs with Property Signatures
- Neural Program Search: Solving Programming Tasks from Description and Examples
- Recent Advances in Neural Program Synthesis
- Neural Guided Constraint Logic Programming for Program Synthesis
- Neural-Guided Symbolic Regression with Asymptotic Constraints
- Synthesize, Execute and Debug: Learning to Repair for Neural Program Synthesis
- Learning to Synthesize Programs as Interpretable and Generalizable Policies
- Toward Code Generation: A Survey and Lessons from Semantic Parsing
- Sketch2Code: Transformation of Sketches to UI in Real-time Using Deep Neural Network
- Some open questions on morphological operators and representations in the deep learning era
- NAPS: Natural Program Synthesis Dataset
- Imitation-Projected Programmatic Reinforcement Learning
- Towards Proof Synthesis Guided by Neural Machine Translation for Intuitionistic Propositional Logic
- Learning Differentiable Programs with Admissible Neural Heuristics
- TreeGAN: Syntax-Aware Sequence Generation with Generative Adversarial Networks
- Latent Programmer: Discrete Latent Codes for Program Synthesis
- The Three Pillars of Machine Programming
- BUSTLE: Bottom-Up Program Synthesis Through Learning-Guided Exploration
- Program Synthesis with Pragmatic Communication
- Towards Neural-Guided Program Synthesis for Linear Temporal Logic Specifications
- Synthesizing Database Programs for Schema Refactoring
- Programmable Agents
- Sketch-Driven Regular Expression Generation from Natural Language and Examples
- Program Synthesis Through Reinforcement Learning Guided Tree Search
- Program Synthesis Guided Reinforcement Learning for Partially Observed Environments
- Neural Program Synthesis with a Differentiable Fixer
- M3: Semantic API Migrations
- Data Generation for Neural Programming by Example
- SynFuzz: Efficient Concolic Execution via Branch Condition Synthesis
- Learning Fitness Functions for Machine Programming
- Ain't Nobody Got Time For Coding: Structure-Aware Program Synthesis From Natural Language
- Neural Program Synthesis By Self-Learning
- Towards Modular Algorithm Induction
- Synthesizing Queries via Interactive Sketching
- Optimal Neural Program Synthesis from Multimodal Specifications
- Gradient Descent over Metagrammars for Syntax-Guided Synthesis
- Generating Adversarial Computer Programs using Optimized Obfuscations
- PLANS: Robust Program Learning from Neurally Inferred Specifications
- Using human-in-the-loop synthesis to author functional reactive programs
- Learning Execution through Neural Code Fusion
- Learning to Combine Per-Example Solutions for Neural Program Synthesis
- Latent Execution for Neural Program Synthesis
- Code Representation Learning with Prüfer Sequences
- Neural Program Generation Modulo Static Analysis
- Deep Distilling: automated code generation using explainable deep learning
- Programming Puzzles
- On Adversarial Robustness of Synthetic Code Generation
- Automatically Generating Codes from Graphical Screenshots Based on Deep Autocoder
- Trainable back-propagated functional transfer matrices
- Formal Fields: A Framework to Automate Code Generation Across Domains
- Grammar Filtering For Syntax-Guided Synthesis
- Unsupervised Program Synthesis for Images By Sampling Without Replacement
- Case-based Reasoning for Natural Language Queries over Knowledge Bases
- Inductive Program Synthesis over Noisy Datasets using Abstraction Refinement Based Optimization
- Hashing Modulo Alpha-Equivalence
- Automated Decision-based Adversarial Attacks