Top-Down Synthesis for Library Learning
Not on the map. Why?
Abstract (arXiv)
This paper introduces corpus-guided top-down synthesis as a mechanism for synthesizing library functions that capture common functionality from a corpus of programs in a domain specific language (DSL). The algorithm builds abstractions directly from initial DSL primitives, using syntactic pattern matching of intermediate abstractions to intelligently prune the search space and guide the algorithm towards abstractions that maximally capture shared structures in the corpus. We present an implementation of the approach in a tool called Stitch and evaluate it against the state-of-the-art deductive library learning algorithm from DreamCoder. Our evaluation shows that Stitch is 3-4 orders of magnitude faster and uses 2 orders of magnitude less memory while maintaining comparable or better library quality (as measured by compressivity). We also demonstrate Stitch's scalability on corpora containing hundreds of complex programs that are intractable with prior deductive approaches and show empirically that it is robust to terminating the search procedure early -- further allowing it to scale to challenging datasets by means of early stopping.
Key facts. Cited by 58 papers in the map (data through 14 Oct 2026). Builds on 16 of its 64 references that are in the map. First posted on arXiv 29 Nov 2022.
Builds on
16 of 64 references.
References · 16
- 2017A Survey of Machine Learning for Big Code and Naturalnesscited by 221
- 2020DreamCoder: Growing generalizable, interpretable knowledge with wake-sleep Bayesian program learningcited by 161
- 2016DeepCoder: Learning to Write Programscited by 149
- 2018Synthesizing Programs for Images using Reinforced Adversarial Learningcited by 72
- 2021Leveraging Language to Learn Program Abstractions and Search Heuristicscited by 45
- 2019Program Synthesis and Semantic Parsing with Learned Code Idiomscited by 34
- 2020Learning Differentiable Programs with Admissible Neural Heuristicscited by 32
- 2018Beyond imitation: Zero-shot task transfer on robots by learning concepts as cognitive programscited by 21
- 2015Program Synthesis from Polymorphic Refinement Typescited by 20
- 2014Mining Idioms from Source Codecited by 19
- 2019Learning Programmatic Idioms for Scalable Semantic Parsingcited by 17
- 2020Representing Partial Programs with Blended Abstract Semanticscited by 14
4 more
- 2019Multi-modal Synthesis of Regular Expressionscited by 13
- 2019Playgol: learning programs through playcited by 8
- 2022Identifying concept libraries from language about object structurecited by 8
- 2017On Repair with Probabilistic Attribute Grammarscited by 1
Built on by
Citing papers per year: 2022: 1; 2023: 12; 2024: 19; 2025: 9; 2026: 17.
58 papers.
Sort:
By area:
- 2024Agent Workflow Memorycited by 383
- 2023Self-Taught Optimizer (STOP): Recursively Self-Improving Code Generationcited by 148
- 2024WorldCoder, a Model-Based LLM Agent: Building World Models by Writing Code and Interacting with the Environmentcited by 107
- 2024Symbolic Regression with a Learned Concept Librarycited by 83
- 2024TroVE: Inducing Verifiable and Efficient Toolboxes for Solving Programmatic Taskscited by 75
- 2023Clover: Closed-Loop Verifiable Code Generationcited by 67
- 2022Parsel: Algorithmic Reasoning with Language Models by Composing Decompositionscited by 64
- 2024What Are Tools Anyway? A Survey from the Language Model Perspectivecited by 54
- 2024Combining Induction and Transduction for Abstract Reasoningcited by 53
- 2023LILO: Learning Interpretable Libraries by Compressing and Documenting Codecited by 49
- 2023Learning adaptive planning representations with natural language guidancecited by 36
- 2024ReGAL: Refactoring Programs to Discover Generalizable Abstractionscited by 36
38 more
- 2023ShapeCoder: Discovering Abstractions for Visual Programs from Unstructured Primitivescited by 23
- 2024VerMCTS: Synthesizing Multi-Step Programs using a Verifier, a Large Language Model, and Tree Searchcited by 14
- 2023Improving Unsupervised Visual Program Inference with Code Rewriting Familiescited by 10
- 2025ARC-GEN: A Mimetic Procedural Benchmark Generator for the Abstraction and Reasoning Corpuscited by 10
- 2024REFACTOR: Learning to Extract Theorems from Proofscited by 9
- 2023Anti-unification and Generalization: A Surveycited by 7
- 2026Self-Evolving Agents with Anytime-Valid Certificatescited by 6
- 2023Learning of Generalizable and Interpretable Knowledge in Grid-Based Reinforcement Learning Environmentscited by 5
- 2024Searching for Programmatic Policies in Semantic Spacescited by 5
- 2024Finding structure in logographic writing with library learningcited by 5
- 2025Scalable and Cost-Efficient de Novo Template-Based Molecular Generationcited by 5
- 2026DreamProver: Evolving Transferable Lemma Libraries via a Wake-Sleep Theorem-Proving Agentcited by 5
- 2024Action abstractions for amortized samplingcited by 4
- 2025Refactoring Codebases through Library Designcited by 4
- 2026Artificial Intelligence and the Structure of Mathematicscited by 4
- 2026Skill-as-Pseudocode: Refactoring Skill Libraries to Pseudocode for LLM Agentscited by 4
- 2023Bayesian Program Learning by Decompiling Amortized Knowledgecited by 2
- 2024AbstractBeam: Enhancing Bottom-Up Program Synthesis using Library Learningcited by 2
- 2024Algorithmic Language Models with Neurally Compiled Librariescited by 2
- 2025A Compute-Matched Re-Evaluation of TroVE on MATHcited by 2
- 2025Agent-centric learning: from external reward maximization to internal knowledge curationcited by 2
- 2025Learning Interestingness in Automated Mathematical Theory Formationcited by 2
- 2026ReaComp: Compiling LLM Reasoning into Symbolic Solvers for Efficient Program Synthesiscited by 2
- 2026A Compositional Framework for Open-ended Intelligencecited by 2
- 2023Learning logic programs by discovering higher-order abstractionscited by 1
- 2023Function-constrained Program Synthesiscited by 1
- 2024MeMo: Meaningful, Modular Controllers via Noise Injectioncited by 1
- 2024Unveiling the Decision-Making Process in Reinforcement Learning with Genetic Programmingcited by 1
- 2024Scalable Knowledge Refactoring using Constrained Optimisationcited by 1
- 2024PACE: Procedural Abstractions for Communicating Efficientlycited by 1
- 2025Analogy making as amortised model constructioncited by 1
- 2026Online library learning in human visual puzzle solvingcited by 1
- 2026Path-dependent program induction under resource constraints explains human sequence learningcited by 1
- 2026Beyond Fixed Representations: The Vocabulary and Verifier Gaps in Open-Ended AIcited by 1
- 2026SkillComposer: Learning Reusable Skills for Natural-Language Robot Programmingcited by 1
- 2023Symbolic Synthesis of Neural Networkscited by 0
- 2024MathDSL: A Domain-Specific Language for Concise Mathematical Solutions Via Program Synthesiscited by 0
- 2025Bayesian Inverse Physics for Neuro-Symbolic Robot Learningcited by 0
50 most cited of 58 All 58 (JSON)
- 2026Recursive Formation and First-Class Reuse of Compositional Capabilities14 Oct 2026
- 2026X-Tree: Tokenizing Reusable Experience for Efficient Agent Generalization26 Sep 2026
- 2026REFACTOR-VLA: Unsupervised Library Learning of Typed Motor Programs1 Sep 2026
- 2026SkillComposer: Learning Reusable Skills for Natural-Language Robot Programming14 Aug 2026
- 2026Beyond Fixed Representations: The Vocabulary and Verifier Gaps in Open-Ended AI10 Jul 2026
- 2026Self-Evolving Agents with Anytime-Valid Certificates1 Jul 2026
- 2026A Compositional Framework for Open-ended Intelligence13 Jun 2026
- 2026Inducing Reasoning Primitives from Agent Traces2 Jun 2026
- 2026Skill-as-Pseudocode: Refactoring Skill Libraries to Pseudocode for LLM Agents27 May 2026
- 2026Path-dependent program induction under resource constraints explains human sequence learning26 May 2026
- 2026Prospective Compression in Human Abstraction Learning11 May 2026
- 2026CoCoDA: Co-evolving Compositional DAG for Tool-Augmented Agents8 May 2026
38 more
- 2026ReaComp: Compiling LLM Reasoning into Symbolic Solvers for Efficient Program Synthesis6 May 2026
- 2026DreamProver: Evolving Transferable Lemma Libraries via a Wake-Sleep Theorem-Proving Agent29 Apr 2026
- 2026Artificial Intelligence and the Structure of Mathematics7 Apr 2026
- 2026Online library learning in human visual puzzle solving24 Mar 2026
- 2026Twitch: Learning Abstractions for Equational Theorem Proving6 Mar 2026
- 2025Learning Interestingness in Automated Mathematical Theory Formation5 Nov 2025
- 2025ARC-GEN: A Mimetic Procedural Benchmark Generator for the Abstraction and Reasoning Corpus31 Oct 2025
- 2025Agent-centric learning: from external reward maximization to internal knowledge curation29 Jul 2025
- 2025Analogy making as amortised model construction22 Jul 2025
- 2025A Compute-Matched Re-Evaluation of TroVE on MATH16 Jul 2025
- 2025Common Benchmarks Undervalue the Generalization Power of Programmatic Policies17 Jun 2025
- 2025Scalable and Cost-Efficient de Novo Template-Based Molecular Generation10 Jun 2025
- 2025Bayesian Inverse Physics for Neuro-Symbolic Robot Learning10 Jun 2025
- 2025Refactoring Codebases through Library Design26 May 2025
- 2024Combining Induction and Transduction for Abstract Reasoning4 Nov 2024
- 2024Action abstractions for amortized sampling19 Oct 2024
- 2024PACE: Procedural Abstractions for Communicating Efficiently30 Sep 2024
- 2024MathDSL: A Domain-Specific Language for Concise Mathematical Solutions Via Program Synthesis26 Sep 2024
- 2024Symbolic Regression with a Learned Concept Library14 Sep 2024
- 2024Agent Workflow Memory11 Sep 2024
- 2024Scalable Knowledge Refactoring using Constrained Optimisation21 Aug 2024
- 2024Unveiling the Decision-Making Process in Reinforcement Learning with Genetic Programming20 Jul 2024
- 2024Algorithmic Language Models with Neurally Compiled Libraries6 Jul 2024
- 2024AbstractBeam: Enhancing Bottom-Up Program Synthesis using Library Learning27 May 2024
- 2024MeMo: Meaningful, Modular Controllers via Noise Injection24 May 2024
- 2024Finding structure in logographic writing with library learning11 May 2024
- 2024Searching for Programmatic Policies in Semantic Spaces8 May 2024
- 2024What Are Tools Anyway? A Survey from the Language Model Perspective18 Mar 2024
- 2024REFACTOR: Learning to Extract Theorems from Proofs26 Feb 2024
- 2024WorldCoder, a Model-Based LLM Agent: Building World Models by Writing Code and Interacting with the Environment19 Feb 2024
- 2024VerMCTS: Synthesizing Multi-Step Programs using a Verifier, a Large Language Model, and Tree Search13 Feb 2024
- 2024ReGAL: Refactoring Programs to Discover Generalizable Abstractions29 Jan 2024
- 2024TroVE: Inducing Verifiable and Efficient Toolboxes for Solving Programmatic Tasks23 Jan 2024
- 2023Learning adaptive planning representations with natural language guidance13 Dec 2023
- 2023Function-constrained Program Synthesis27 Nov 2023
- 2023LILO: Learning Interpretable Libraries by Compressing and Documenting Code30 Oct 2023
- 2023Clover: Closed-Loop Verifiable Code Generation26 Oct 2023
- 2023Self-Taught Optimizer (STOP): Recursively Self-Improving Code Generation3 Oct 2023
50 newest of 58 All 58 (JSON)
- 2024Agent Workflow Memorycited by 383
- 2026DreamProver: Evolving Transferable Lemma Libraries via a Wake-Sleep Theorem-Proving Agentcited by 5
- 2026Skill-as-Pseudocode: Refactoring Skill Libraries to Pseudocode for LLM Agentscited by 4
- 2026CoCoDA: Co-evolving Compositional DAG for Tool-Augmented Agentscited by 0
- 2026X-Tree: Tokenizing Reusable Experience for Efficient Agent Generalizationcited by 0
- 2026X-Tree: Tokenizing Reusable Experience for Efficient Agent Generalization26 Sep 2026
- 2026Skill-as-Pseudocode: Refactoring Skill Libraries to Pseudocode for LLM Agents27 May 2026
- 2026CoCoDA: Co-evolving Compositional DAG for Tool-Augmented Agents8 May 2026
- 2026DreamProver: Evolving Transferable Lemma Libraries via a Wake-Sleep Theorem-Proving Agent29 Apr 2026
- 2024Agent Workflow Memory11 Sep 2024
- 2022Parsel: Algorithmic Reasoning with Language Models by Composing Decompositionscited by 64
- 2024Combining Induction and Transduction for Abstract Reasoningcited by 53
- 2024VerMCTS: Synthesizing Multi-Step Programs using a Verifier, a Large Language Model, and Tree Searchcited by 14
- 2026ReaComp: Compiling LLM Reasoning into Symbolic Solvers for Efficient Program Synthesiscited by 2
- 2026Inducing Reasoning Primitives from Agent Tracescited by 0
- 2026Inducing Reasoning Primitives from Agent Traces2 Jun 2026
- 2026ReaComp: Compiling LLM Reasoning into Symbolic Solvers for Efficient Program Synthesis6 May 2026
- 2024Combining Induction and Transduction for Abstract Reasoning4 Nov 2024
- 2024VerMCTS: Synthesizing Multi-Step Programs using a Verifier, a Large Language Model, and Tree Search13 Feb 2024
- 2022Parsel: Algorithmic Reasoning with Language Models by Composing Decompositions20 Dec 2022
- 2024Symbolic Regression with a Learned Concept Librarycited by 83
- 2024TroVE: Inducing Verifiable and Efficient Toolboxes for Solving Programmatic Taskscited by 75
- 2023Clover: Closed-Loop Verifiable Code Generationcited by 67
- 2024What Are Tools Anyway? A Survey from the Language Model Perspectivecited by 54
- 2023LILO: Learning Interpretable Libraries by Compressing and Documenting Codecited by 49
- 2023Learning adaptive planning representations with natural language guidancecited by 36
- 2024ReGAL: Refactoring Programs to Discover Generalizable Abstractionscited by 36
- 2023ShapeCoder: Discovering Abstractions for Visual Programs from Unstructured Primitivescited by 23
- 2023Improving Unsupervised Visual Program Inference with Code Rewriting Familiescited by 10
- 2025ARC-GEN: A Mimetic Procedural Benchmark Generator for the Abstraction and Reasoning Corpuscited by 10
- 2024REFACTOR: Learning to Extract Theorems from Proofscited by 9
- 2023Anti-unification and Generalization: A Surveycited by 7
12 most cited of 42 All 42 (JSON)
- 2026Recursive Formation and First-Class Reuse of Compositional Capabilities14 Oct 2026
- 2026SkillComposer: Learning Reusable Skills for Natural-Language Robot Programming14 Aug 2026
- 2026Beyond Fixed Representations: The Vocabulary and Verifier Gaps in Open-Ended AI10 Jul 2026
- 2026Self-Evolving Agents with Anytime-Valid Certificates1 Jul 2026
- 2026A Compositional Framework for Open-ended Intelligence13 Jun 2026
- 2026Path-dependent program induction under resource constraints explains human sequence learning26 May 2026
- 2026Prospective Compression in Human Abstraction Learning11 May 2026
- 2026Artificial Intelligence and the Structure of Mathematics7 Apr 2026
- 2026Online library learning in human visual puzzle solving24 Mar 2026
- 2026Twitch: Learning Abstractions for Equational Theorem Proving6 Mar 2026
- 2025Learning Interestingness in Automated Mathematical Theory Formation5 Nov 2025
- 2025ARC-GEN: A Mimetic Procedural Benchmark Generator for the Abstraction and Reasoning Corpus31 Oct 2025
12 newest of 42 All 42 (JSON)