Program Synthesis from Polymorphic Refinement Types
Not on the map. Why?
Abstract (arXiv)
We present a method for synthesizing recursive functions that provably satisfy a given specification in the form of a polymorphic refinement type. We observe that such specifications are particularly suitable for program synthesis for two reasons. First, they offer a unique combination of expressive power and decidability, which enables automatic verification---and hence synthesis---of nontrivial programs. Second, a type-based specification for a program can often be effectively decomposed into independent specifications for its components, causing the synthesizer to consider fewer component combinations and leading to a combinatorial reduction in the size of the search space. At the core of our synthesis procedure is a new algorithm for refinement type checking, which supports specification decomposition. We have evaluated our prototype implementation on a large set of synthesis problems and found that it exceeds the state of the art in terms of both scalability and usability. The tool was able to synthesize more complex programs than those reported in prior work (several sorting algorithms and operations on balanced search trees), as well as most of the benchmarks tackled by existing synthesizers, often starting from a more concise and intuitive user input.
Key facts. Cited by 20 papers in the map (data through 7 Oct 2026). First posted on arXiv 28 Oct 2015.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 4; 2022: 3; 2023: 3; 2024: 2; 2025: 2; 2026: 6.
20 papers.
Sort:
By area:
- 2023Clover: Closed-Loop Verifiable Code Generationcited by 62
- 2022Top-Down Synthesis for Library Learningcited by 57
- 2023LILO: Learning Interpretable Libraries by Compressing and Documenting Codecited by 46
- 2021Neural Program Generation Modulo Static Analysiscited by 13
- 2023ANPL: Towards Natural Programming with Interactive Decompositioncited by 13
- 2021Multi-modal Program Inference: a Marriage of Pre-trainedLanguage Models and Component-based Synthesiscited by 12
- 2024API-guided Dataset Synthesis to Finetune Large Code Modelscited by 11
- 2024Procedural Synthesis of Synthesizable Moleculescited by 6
- 2022Type theory in human-like learning and inferencecited by 3
- 2025LLM Priors for ERM over Programscited by 3
- 2026Inductive Deductive Synthesis: Enabling AI to Generate Formally Verified Systemscited by 3
- 2021Inductive Program Synthesis over Noisy Datasets using Abstraction Refinement Based Optimizationcited by 1
8 more
- 2022Transformer-based Program Synthesis for Low-Data Environmentscited by 1
- 2026VeryTrace: Verifying Reasoning Traces through Compilable Formalism and Structured Verificationcited by 1
- 2026P3: Joint Program-and-Proof Planning for Verified Code Generationcited by 1
- 2021Refinement Type Directed Search for Meta-Interpretive-Learning of Higher-Order Logic Programscited by 0
- 2025Learning to Guarantee Type Correctness in Code Generation through Type-Guided Program Synthesiscited by 0
- 2026Fixed-Set Robustness in Programming by Example: Example Corruption and Semantic Partition Recoverycited by 0
- 2026Generative Compilation: On-the-Fly Compiler Feedback as AI Generates Codecited 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
- 2026P3: Joint Program-and-Proof Planning for Verified Code Generation10 Aug 2026
- 2026Generative Compilation: On-the-Fly Compiler Feedback as AI Generates Code15 Jul 2026
- 2026Fixed-Set Robustness in Programming by Example: Example Corruption and Semantic Partition Recovery1 Jul 2026
- 2026VeryTrace: Verifying Reasoning Traces through Compilable Formalism and Structured Verification23 Jun 2026
- 2026Inductive Deductive Synthesis: Enabling AI to Generate Formally Verified Systems22 May 2026
- 2025LLM Priors for ERM over Programs16 Oct 2025
- 2025Learning to Guarantee Type Correctness in Code Generation through Type-Guided Program Synthesis11 Oct 2025
- 2024Procedural Synthesis of Synthesizable Molecules24 Aug 2024
- 2024API-guided Dataset Synthesis to Finetune Large Code Models15 Aug 2024
- 2023LILO: Learning Interpretable Libraries by Compressing and Documenting Code30 Oct 2023
- 2023Clover: Closed-Loop Verifiable Code Generation26 Oct 2023
8 more
- 2023ANPL: Towards Natural Programming with Interactive Decomposition29 May 2023
- 2022Top-Down Synthesis for Library Learning29 Nov 2022
- 2022Type theory in human-like learning and inference4 Oct 2022
- 2022Transformer-based Program Synthesis for Low-Data Environments18 May 2022
- 2021Neural Program Generation Modulo Static Analysis26 Oct 2021
- 2021Multi-modal Program Inference: a Marriage of Pre-trainedLanguage Models and Component-based Synthesis3 Sep 2021
- 2021Inductive Program Synthesis over Noisy Datasets using Abstraction Refinement Based Optimization27 Apr 2021
- 2021Refinement Type Directed Search for Meta-Interpretive-Learning of Higher-Order Logic Programs18 Feb 2021
- 2023Clover: Closed-Loop Verifiable Code Generationcited by 62
- 2022Top-Down Synthesis for Library Learningcited by 57
- 2023LILO: Learning Interpretable Libraries by Compressing and Documenting Codecited by 46
- 2021Neural Program Generation Modulo Static Analysiscited by 13
- 2023ANPL: Towards Natural Programming with Interactive Decompositioncited by 13
- 2021Multi-modal Program Inference: a Marriage of Pre-trainedLanguage Models and Component-based Synthesiscited by 12
- 2024API-guided Dataset Synthesis to Finetune Large Code Modelscited by 11
- 2024Procedural Synthesis of Synthesizable Moleculescited by 6
- 2022Type theory in human-like learning and inferencecited by 3
- 2025LLM Priors for ERM over Programscited by 3
- 2026Inductive Deductive Synthesis: Enabling AI to Generate Formally Verified Systemscited by 3
- 2021Inductive Program Synthesis over Noisy Datasets using Abstraction Refinement Based Optimizationcited by 1
12 most cited of 18 All 18 (JSON)
- 2026P3: Joint Program-and-Proof Planning for Verified Code Generation10 Aug 2026
- 2026Generative Compilation: On-the-Fly Compiler Feedback as AI Generates Code15 Jul 2026
- 2026Fixed-Set Robustness in Programming by Example: Example Corruption and Semantic Partition Recovery1 Jul 2026
- 2026Inductive Deductive Synthesis: Enabling AI to Generate Formally Verified Systems22 May 2026
- 2025LLM Priors for ERM over Programs16 Oct 2025
- 2025Learning to Guarantee Type Correctness in Code Generation through Type-Guided Program Synthesis11 Oct 2025
- 2024Procedural Synthesis of Synthesizable Molecules24 Aug 2024
- 2024API-guided Dataset Synthesis to Finetune Large Code Models15 Aug 2024
- 2023LILO: Learning Interpretable Libraries by Compressing and Documenting Code30 Oct 2023
- 2023Clover: Closed-Loop Verifiable Code Generation26 Oct 2023
- 2023ANPL: Towards Natural Programming with Interactive Decomposition29 May 2023
- 2022Top-Down Synthesis for Library Learning29 Nov 2022
12 newest of 18 All 18 (JSON)