Learning to Infer Program Sketches
Not on the map. Why?
Abstract (arXiv)
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.
Key facts. Cited by 44 papers in the map (data through 7 Oct 2026). First posted on arXiv 17 Feb 2019.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 11; 2022: 10; 2023: 15; 2024: 2; 2025: 3; 2026: 3.
44 papers.
Sort:
By area:
- 2023ADaPT: As-Needed Decomposition and Planning with Language Modelscited by 172
- 2023Learning Performance-Improving Code Editscited by 103
- 2023Execution-based Code Generation using Deep Reinforcement Learningcited by 95
- 2022CERT: Continual Pre-Training on Sketches for Library-Oriented Code Generationcited by 87
- 2021Unlocking Compositional Generalization in Pre-trained Models Using Intermediate Representationscited by 55
- 2022Compilable Neural Code Generation with Compiler Feedbackcited by 46
- 2023LILO: Learning Interpretable Libraries by Compressing and Documenting Codecited by 46
- 2021Leveraging Language to Learn Program Abstractions and Search Heuristicscited by 44
- 2021SpreadsheetCoder: Formula Prediction from Semi-structured Contextcited by 41
- 2021A Survey on Neural-symbolic Learning Systemscited by 39
- 2021Communicating Natural Programs to Humans and Machinescited by 35
- 2021Latent Execution for Neural Program Synthesiscited by 35
32 more
- 2023Outline, Then Details: Syntactically Guided Coarse-To-Fine Code Generationcited by 27
- 2021Learning to Complete Code with Sketchescited by 23
- 2021Neural-guided, Bidirectional Program Search for Abstraction and Reasoningcited by 23
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkitcited by 22
- 2022CrossBeam: Learning to Search in Bottom-Up Program Synthesiscited by 18
- 2023ExeDec: Execution Decomposition for Compositional Generalization in Neural Program Synthesiscited by 17
- 2022GALOIS: Boosting Deep Reinforcement Learning via Generalizable Logic Synthesiscited by 16
- 2022What can we Learn Even From the Weakest? Learning Sketches for Programmatic Strategiescited by 10
- 2023R-U-SURE? Uncertainty-Aware Code Suggestions By Maximizing Utility Across Random User Intentscited by 10
- 2021Toward Code Generation: A Survey and Lessons from Semantic Parsingcited by 8
- 2021Learning to Combine Per-Example Solutions for Neural Program Synthesiscited by 8
- 2022Compositional Generalization and Decomposition in Neural Program Synthesiscited by 6
- 2023LambdaBeam: Neural Program Search with Higher-Order Functions and Lambdascited by 6
- 2023Learning of Generalizable and Interpretable Knowledge in Grid-Based Reinforcement Learning Environmentscited by 5
- 2022Learning to Improve Code Efficiencycited by 4
- 2021On Adversarial Robustness of Synthetic Code Generationcited by 3
- 2023Neural Machine Translation for Code Generationcited by 3
- 2023Guess & Sketch: Language Model Guided Transpilationcited by 3
- 2025A Llama walks into the 'Bar': Efficient Supervised Fine-Tuning for Legal Reasoning in the Multi-state Bar Examcited by 3
- 2022BenchPress: A Deep Active Benchmark Generatorcited by 2
- 2022Synthesizing Programs with Continuous Optimizationcited by 2
- 2024AbstractBeam: Enhancing Bottom-Up Program Synthesis using Library Learningcited by 2
- 2025Shedding Light in Task Decomposition in Program Synthesis: The Driving Force of the Synthesizer Modelcited by 2
- 2022ObSynth: An Interactive Synthesis System for Generating Object Models from Natural Language Specificationscited by 1
- 2025Beyond Either-Or Reasoning: Transduction and Induction as Cooperative Problem-Solving Paradigmscited by 1
- 2023BenchDirect: A Directed Language Model for Compiler Benchmarkscited by 0
- 2023Learning-Based Automatic Synthesis of Software Code and Configurationcited by 0
- 2023mlirSynth: Automatic, Retargetable Program Raising in Multi-Level IR using Program Synthesiscited by 0
- 2024VRDSynth: Synthesizing Programs for Multilingual Visually Rich Document Information Extractioncited by 0
- 2026A Small-Scale System for Autoregressive Program Synthesis Enabling Controlled Experimentationcited by 0
- 2026Distribution-Aware Algorithm Design with LLM Agentscited by 0
- 2026Solver-Aware Decompositions for Programming-by-Example: When Dividing Requires Knowing how to Conquercited by 0
- 2026Solver-Aware Decompositions for Programming-by-Example: When Dividing Requires Knowing how to Conquer4 Aug 2026
- 2026Distribution-Aware Algorithm Design with LLM Agents13 May 2026
- 2026A Small-Scale System for Autoregressive Program Synthesis Enabling Controlled Experimentation9 Feb 2026
- 2025Beyond Either-Or Reasoning: Transduction and Induction as Cooperative Problem-Solving Paradigms20 May 2025
- 2025A Llama walks into the 'Bar': Efficient Supervised Fine-Tuning for Legal Reasoning in the Multi-state Bar Exam7 Apr 2025
- 2025Shedding Light in Task Decomposition in Program Synthesis: The Driving Force of the Synthesizer Model11 Mar 2025
- 2024VRDSynth: Synthesizing Programs for Multilingual Visually Rich Document Information Extraction9 Jul 2024
- 2024AbstractBeam: Enhancing Bottom-Up Program Synthesis using Library Learning27 May 2024
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkit30 Dec 2023
- 2023ADaPT: As-Needed Decomposition and Planning with Language Models8 Nov 2023
- 2023LILO: Learning Interpretable Libraries by Compressing and Documenting Code30 Oct 2023
- 2023mlirSynth: Automatic, Retargetable Program Raising in Multi-Level IR using Program Synthesis6 Oct 2023
32 more
- 2023Guess & Sketch: Language Model Guided Transpilation25 Sep 2023
- 2023Learning of Generalizable and Interpretable Knowledge in Grid-Based Reinforcement Learning Environments7 Sep 2023
- 2023ExeDec: Execution Decomposition for Compositional Generalization in Neural Program Synthesis26 Jul 2023
- 2023LambdaBeam: Neural Program Search with Higher-Order Functions and Lambdas3 Jun 2023
- 2023Learning-Based Automatic Synthesis of Software Code and Configuration25 May 2023
- 2023Neural Machine Translation for Code Generation22 May 2023
- 2023Outline, Then Details: Syntactically Guided Coarse-To-Fine Code Generation28 Apr 2023
- 2023BenchDirect: A Directed Language Model for Compiler Benchmarks2 Mar 2023
- 2023R-U-SURE? Uncertainty-Aware Code Suggestions By Maximizing Utility Across Random User Intents1 Mar 2023
- 2023Learning Performance-Improving Code Edits15 Feb 2023
- 2023Execution-based Code Generation using Deep Reinforcement Learning31 Jan 2023
- 2022Synthesizing Programs with Continuous Optimization2 Nov 2022
- 2022ObSynth: An Interactive Synthesis System for Generating Object Models from Natural Language Specifications20 Oct 2022
- 2022BenchPress: A Deep Active Benchmark Generator13 Aug 2022
- 2022Learning to Improve Code Efficiency9 Aug 2022
- 2022CERT: Continual Pre-Training on Sketches for Library-Oriented Code Generation14 Jun 2022
- 2022GALOIS: Boosting Deep Reinforcement Learning via Generalizable Logic Synthesis27 May 2022
- 2022Compositional Generalization and Decomposition in Neural Program Synthesis7 Apr 2022
- 2022What can we Learn Even From the Weakest? Learning Sketches for Programmatic Strategies22 Mar 2022
- 2022CrossBeam: Learning to Search in Bottom-Up Program Synthesis20 Mar 2022
- 2022Compilable Neural Code Generation with Compiler Feedback10 Mar 2022
- 2021A Survey on Neural-symbolic Learning Systems10 Nov 2021
- 2021Neural-guided, Bidirectional Program Search for Abstraction and Reasoning22 Oct 2021
- 2021Latent Execution for Neural Program Synthesis29 Jun 2021
- 2021SpreadsheetCoder: Formula Prediction from Semi-structured Context26 Jun 2021
- 2021On Adversarial Robustness of Synthetic Code Generation22 Jun 2021
- 2021Leveraging Language to Learn Program Abstractions and Search Heuristics18 Jun 2021
- 2021Learning to Complete Code with Sketches18 Jun 2021
- 2021Communicating Natural Programs to Humans and Machines15 Jun 2021
- 2021Learning to Combine Per-Example Solutions for Neural Program Synthesis14 Jun 2021
- 2021Toward Code Generation: A Survey and Lessons from Semantic Parsing26 Apr 2021
- 2021Unlocking Compositional Generalization in Pre-trained Models Using Intermediate Representations15 Apr 2021
- 2026Distribution-Aware Algorithm Design with LLM Agentscited by 0
- 2026Distribution-Aware Algorithm Design with LLM Agents13 May 2026
- 2023Learning Performance-Improving Code Editscited by 103
- 2023Execution-based Code Generation using Deep Reinforcement Learningcited by 95
- 2022CERT: Continual Pre-Training on Sketches for Library-Oriented Code Generationcited by 87
- 2021Unlocking Compositional Generalization in Pre-trained Models Using Intermediate Representationscited by 55
- 2022Compilable Neural Code Generation with Compiler Feedbackcited by 46
- 2023LILO: Learning Interpretable Libraries by Compressing and Documenting Codecited by 46
- 2021Leveraging Language to Learn Program Abstractions and Search Heuristicscited by 44
- 2021SpreadsheetCoder: Formula Prediction from Semi-structured Contextcited by 41
- 2021A Survey on Neural-symbolic Learning Systemscited by 39
- 2021Communicating Natural Programs to Humans and Machinescited by 35
- 2021Latent Execution for Neural Program Synthesiscited by 35
- 2023Outline, Then Details: Syntactically Guided Coarse-To-Fine Code Generationcited by 27
12 most cited of 40 All 40 (JSON)
- 2026Solver-Aware Decompositions for Programming-by-Example: When Dividing Requires Knowing how to Conquer4 Aug 2026
- 2026A Small-Scale System for Autoregressive Program Synthesis Enabling Controlled Experimentation9 Feb 2026
- 2025Beyond Either-Or Reasoning: Transduction and Induction as Cooperative Problem-Solving Paradigms20 May 2025
- 2025Shedding Light in Task Decomposition in Program Synthesis: The Driving Force of the Synthesizer Model11 Mar 2025
- 2024VRDSynth: Synthesizing Programs for Multilingual Visually Rich Document Information Extraction9 Jul 2024
- 2024AbstractBeam: Enhancing Bottom-Up Program Synthesis using Library Learning27 May 2024
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkit30 Dec 2023
- 2023LILO: Learning Interpretable Libraries by Compressing and Documenting Code30 Oct 2023
- 2023mlirSynth: Automatic, Retargetable Program Raising in Multi-Level IR using Program Synthesis6 Oct 2023
- 2023Guess & Sketch: Language Model Guided Transpilation25 Sep 2023
- 2023Learning of Generalizable and Interpretable Knowledge in Grid-Based Reinforcement Learning Environments7 Sep 2023
- 2023ExeDec: Execution Decomposition for Compositional Generalization in Neural Program Synthesis26 Jul 2023
12 newest of 40 All 40 (JSON)