Representing Partial Programs with Blended Abstract Semantics
Not on the map. Why?
Abstract (arXiv)
Synthesizing programs from examples requires searching over a vast, combinatorial space of possible programs. In this search process, a key challenge is representing the behavior of a partially written program before it can be executed, to judge if it is on the right track and predict where to search next. We introduce a general technique for representing partially written programs in a program synthesis engine. We take inspiration from the technique of abstract interpretation, in which an approximate execution model is used to determine if an unfinished program will eventually satisfy a goal specification. Here we learn an approximate execution model implemented as a modular neural network. By constructing compositional program representations that implicitly encode the interpretation semantics of the underlying programming language, we can represent partial programs using a flexible combination of concrete execution state and learned neural representations, using the learned approximate semantics when concrete semantics are not known (in unfinished parts of the program). We show that these hybrid neuro-symbolic representations enable execution-guided synthesizers to use more powerful language constructs, such as loops and higher-order functions, and can be used to synthesize programs more accurately for a given search budget than pure neural approaches in several domains.
Key facts. Cited by 14 papers in the map (data through 14 Oct 2026). First posted on arXiv 23 Dec 2020.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 4; 2022: 4; 2023: 2; 2024: 3; 2025: 0; 2026: 1.
14 papers.
Sort:
By area:
- 2021Learning to Synthesize Programs as Interpretable and Generalizable Policiescited by 59
- 2022Top-Down Synthesis for Library Learningcited by 58
- 2022Learning Math Reasoning from Self-Sampled Correct and Partially-Correct Solutionscited by 38
- 2021Latent Execution for Neural Program Synthesiscited by 35
- 2023ExeDec: Execution Decomposition for Compositional Generalization in Neural Program Synthesiscited by 17
- 2022Static Prediction of Runtime Errors by Learning to Execute Programs with External Resource Descriptionscited by 11
- 2024Towards Efficient Neurally-Guided Program Induction for ARC-AGIcited by 11
- 2021Program Synthesis Guided Reinforcement Learning for Partially Observed Environmentscited by 8
- 2023A Divide-Align-Conquer Strategy for Program Synthesiscited by 7
- 2024Learning to Edit Visual Programs with Self-Supervisioncited by 7
- 2022ObSynth: An Interactive Synthesis System for Generating Object Models from Natural Language Specificationscited by 1
- 2021Neural Abstructions: Abstractions that Support Construction for Grounded Language Learningcited by 0
- 2026Fixed-Set Robustness in Programming by Example: Example Corruption and Semantic Partition Recovery1 Jul 2026
- 2024Towards Efficient Neurally-Guided Program Induction for ARC-AGI13 Nov 2024
- 2024Learning to Edit Visual Programs with Self-Supervision4 Jun 2024
- 2024SwissNYF: Tool Grounded LLM Agents for Black Box Setting15 Feb 2024
- 2023ExeDec: Execution Decomposition for Compositional Generalization in Neural Program Synthesis26 Jul 2023
- 2023A Divide-Align-Conquer Strategy for Program Synthesis8 Jan 2023
- 2022Top-Down Synthesis for Library Learning29 Nov 2022
- 2022ObSynth: An Interactive Synthesis System for Generating Object Models from Natural Language Specifications20 Oct 2022
- 2022Learning Math Reasoning from Self-Sampled Correct and Partially-Correct Solutions28 May 2022
- 2022Static Prediction of Runtime Errors by Learning to Execute Programs with External Resource Descriptions7 Mar 2022
- 2021Learning to Synthesize Programs as Interpretable and Generalizable Policies31 Aug 2021
- 2021Neural Abstructions: Abstractions that Support Construction for Grounded Language Learning20 Jul 2021
2 more
- 2024SwissNYF: Tool Grounded LLM Agents for Black Box Settingcited by 0
- 2024SwissNYF: Tool Grounded LLM Agents for Black Box Setting15 Feb 2024
- 2021Learning to Synthesize Programs as Interpretable and Generalizable Policiescited by 59
- 2022Top-Down Synthesis for Library Learningcited by 58
- 2021Latent Execution for Neural Program Synthesiscited by 35
- 2023ExeDec: Execution Decomposition for Compositional Generalization in Neural Program Synthesiscited by 17
- 2022Static Prediction of Runtime Errors by Learning to Execute Programs with External Resource Descriptionscited by 11
- 2024Towards Efficient Neurally-Guided Program Induction for ARC-AGIcited by 11
- 2021Program Synthesis Guided Reinforcement Learning for Partially Observed Environmentscited by 8
- 2023A Divide-Align-Conquer Strategy for Program Synthesiscited by 7
- 2024Learning to Edit Visual Programs with Self-Supervisioncited by 7
- 2022ObSynth: An Interactive Synthesis System for Generating Object Models from Natural Language Specificationscited by 1
- 2021Neural Abstructions: Abstractions that Support Construction for Grounded Language Learningcited by 0
- 2026Fixed-Set Robustness in Programming by Example: Example Corruption and Semantic Partition Recoverycited by 0
- 2026Fixed-Set Robustness in Programming by Example: Example Corruption and Semantic Partition Recovery1 Jul 2026
- 2024Towards Efficient Neurally-Guided Program Induction for ARC-AGI13 Nov 2024
- 2024Learning to Edit Visual Programs with Self-Supervision4 Jun 2024
- 2023ExeDec: Execution Decomposition for Compositional Generalization in Neural Program Synthesis26 Jul 2023
- 2023A Divide-Align-Conquer Strategy for Program Synthesis8 Jan 2023
- 2022Top-Down Synthesis for Library Learning29 Nov 2022
- 2022ObSynth: An Interactive Synthesis System for Generating Object Models from Natural Language Specifications20 Oct 2022
- 2022Static Prediction of Runtime Errors by Learning to Execute Programs with External Resource Descriptions7 Mar 2022
- 2021Learning to Synthesize Programs as Interpretable and Generalizable Policies31 Aug 2021
- 2021Neural Abstructions: Abstractions that Support Construction for Grounded Language Learning20 Jul 2021
- 2021Latent Execution for Neural Program Synthesis29 Jun 2021
- 2021Program Synthesis Guided Reinforcement Learning for Partially Observed Environments22 Feb 2021