Program Synthesis using Conflict-Driven Learning
Not on the map. Why?
Abstract (arXiv)
We propose a new conflict-driven program synthesis technique that is capable of learning from past mistakes. Given a spurious program that violates the desired specification, our synthesis algorithm identifies the root cause of the conflict and learns new lemmas that can prevent similar mistakes in the future. Specifically, we introduce the notion of equivalence modulo conflict and show how this idea can be used to learn useful lemmas that allow the synthesizer to prune large parts of the search space. We have implemented a general-purpose CDCL-style program synthesizer called Neo and evaluate it in two different application domains, namely data wrangling in R and functional programming over lists. Our experiments demonstrate the substantial benefits of conflict-driven learning and show that Neo outperforms two state-of-the-art synthesis tools, Morpheus and Deepcoder, that target these respective domains.
Key facts. Cited by 26 papers in the map (data through 7 Oct 2026). First posted on arXiv 21 Nov 2017.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 4; 2022: 6; 2023: 5; 2024: 3; 2025: 6; 2026: 2.
26 papers.
Sort:
By area:
- 2023Magicoder: Empowering Code Generation with OSS-Instructcited by 251
- 2025PatchPilot: A Cost-Efficient Software Engineering Agent with Early Attempts on Formal Verificationcited by 22
- 2025Frontier AI's Impact on the Cybersecurity Landscapecited by 21
- 2024HYSYNTH: Context-Free LLM Approximation for Guiding Program Synthesiscited by 14
- 2024API-guided Dataset Synthesis to Finetune Large Code Modelscited by 11
- 2024Guiding Enumerative Program Synthesis with Large Language Modelscited by 9
- 2021Program Synthesis Guided Reinforcement Learning for Partially Observed Environmentscited by 7
- 2021Scaling Neural Program Synthesis with Distribution-based Searchcited by 6
- 2023Generating Pragmatic Examples to Train Neural Program Synthesizerscited by 5
- 2023ImageEye: Batch Image Processing Using Program Synthesiscited by 4
- 2025CodeEvo: Interaction-Driven Synthesis of Code-centric Data through Hybrid and Iterative Feedbackcited by 4
- 2022SapientML: Synthesizing Machine Learning Pipelines by Learning from Human-Written Solutionscited by 3
14 more
- 2023Reinforcement Learning and Data-Generation for Syntax-Guided Synthesiscited by 3
- 2022Learning programs with magic valuescited by 2
- 2022Structured Q-learning For Antibody Designcited by 2
- 2022Synthesizing Programs with Continuous Optimizationcited by 2
- 2021Satisfiability and Synthesis Modulo Oraclescited by 1
- 2025Modelling Program Spaces in Program Synthesis with Constraintscited by 1
- 2025Herb.jl: A Unifying Program Synthesis Librarycited by 1
- 2021Learning logic programs by explaining their failurescited by 0
- 2022Iterative Genetic Improvement: Scaling Stochastic Program Synthesiscited by 0
- 2022Deterministic Graph-Walking Program Miningcited by 0
- 2023Learning-Based Automatic Synthesis of Software Code and Configurationcited by 0
- 2025Polygon: Symbolic Reasoning for SQL using Conflict-Driven Under-Approximation Searchcited by 0
- 2026Narcissus: Program Synthesis Using Context-Aware LLM Approximationscited by 0
- 2026Towards Certificate-Driven Software Porting: A Self-Improving Agentic Harness for Scientific Program Optimizationcited by 0
- 2026Towards Certificate-Driven Software Porting: A Self-Improving Agentic Harness for Scientific Program Optimization28 Sep 2026
- 2026Narcissus: Program Synthesis Using Context-Aware LLM Approximations26 Aug 2026
- 2025Herb.jl: A Unifying Program Synthesis Library10 Oct 2025
- 2025CodeEvo: Interaction-Driven Synthesis of Code-centric Data through Hybrid and Iterative Feedback25 Jul 2025
- 2025Modelling Program Spaces in Program Synthesis with Constraints10 Jul 2025
- 2025Polygon: Symbolic Reasoning for SQL using Conflict-Driven Under-Approximation Search9 Apr 2025
- 2025Frontier AI's Impact on the Cybersecurity Landscape7 Apr 2025
- 2025PatchPilot: A Cost-Efficient Software Engineering Agent with Early Attempts on Formal Verification4 Feb 2025
- 2024API-guided Dataset Synthesis to Finetune Large Code Models15 Aug 2024
- 2024HYSYNTH: Context-Free LLM Approximation for Guiding Program Synthesis24 May 2024
- 2024Guiding Enumerative Program Synthesis with Large Language Models6 Mar 2024
- 2023Magicoder: Empowering Code Generation with OSS-Instruct4 Dec 2023
14 more
- 2023Generating Pragmatic Examples to Train Neural Program Synthesizers9 Nov 2023
- 2023Reinforcement Learning and Data-Generation for Syntax-Guided Synthesis13 Jul 2023
- 2023Learning-Based Automatic Synthesis of Software Code and Configuration25 May 2023
- 2023ImageEye: Batch Image Processing Using Program Synthesis6 Apr 2023
- 2022Synthesizing Programs with Continuous Optimization2 Nov 2022
- 2022Structured Q-learning For Antibody Design10 Sep 2022
- 2022Deterministic Graph-Walking Program Mining22 Aug 2022
- 2022Learning programs with magic values5 Aug 2022
- 2022Iterative Genetic Improvement: Scaling Stochastic Program Synthesis26 Feb 2022
- 2022SapientML: Synthesizing Machine Learning Pipelines by Learning from Human-Written Solutions18 Feb 2022
- 2021Scaling Neural Program Synthesis with Distribution-based Search24 Oct 2021
- 2021Satisfiability and Synthesis Modulo Oracles28 Jul 2021
- 2021Program Synthesis Guided Reinforcement Learning for Partially Observed Environments22 Feb 2021
- 2021Learning logic programs by explaining their failures18 Feb 2021
- 2023Magicoder: Empowering Code Generation with OSS-Instructcited by 251
- 2025Frontier AI's Impact on the Cybersecurity Landscapecited by 21
- 2024HYSYNTH: Context-Free LLM Approximation for Guiding Program Synthesiscited by 14
- 2024API-guided Dataset Synthesis to Finetune Large Code Modelscited by 11
- 2024Guiding Enumerative Program Synthesis with Large Language Modelscited by 9
- 2021Program Synthesis Guided Reinforcement Learning for Partially Observed Environmentscited by 7
- 2021Scaling Neural Program Synthesis with Distribution-based Searchcited by 6
- 2023Generating Pragmatic Examples to Train Neural Program Synthesizerscited by 5
- 2023ImageEye: Batch Image Processing Using Program Synthesiscited by 4
- 2025CodeEvo: Interaction-Driven Synthesis of Code-centric Data through Hybrid and Iterative Feedbackcited by 4
- 2022SapientML: Synthesizing Machine Learning Pipelines by Learning from Human-Written Solutionscited by 3
- 2023Reinforcement Learning and Data-Generation for Syntax-Guided Synthesiscited by 3
12 most cited of 23 All 23 (JSON)
- 2026Narcissus: Program Synthesis Using Context-Aware LLM Approximations26 Aug 2026
- 2025Herb.jl: A Unifying Program Synthesis Library10 Oct 2025
- 2025CodeEvo: Interaction-Driven Synthesis of Code-centric Data through Hybrid and Iterative Feedback25 Jul 2025
- 2025Modelling Program Spaces in Program Synthesis with Constraints10 Jul 2025
- 2025Frontier AI's Impact on the Cybersecurity Landscape7 Apr 2025
- 2024API-guided Dataset Synthesis to Finetune Large Code Models15 Aug 2024
- 2024HYSYNTH: Context-Free LLM Approximation for Guiding Program Synthesis24 May 2024
- 2024Guiding Enumerative Program Synthesis with Large Language Models6 Mar 2024
- 2023Magicoder: Empowering Code Generation with OSS-Instruct4 Dec 2023
- 2023Generating Pragmatic Examples to Train Neural Program Synthesizers9 Nov 2023
- 2023Reinforcement Learning and Data-Generation for Syntax-Guided Synthesis13 Jul 2023
- 2023Learning-Based Automatic Synthesis of Software Code and Configuration25 May 2023
12 newest of 23 All 23 (JSON)