Program Synthesis by Type-Guided Abstraction Refinement
Zheng Guo, Michael James, David Justo, Jiaxiao Zhou, Ziteng Wang,, Ranjit Jhala, Nadia Polikarpova

TL;DR
This paper introduces TYGAR, a scalable type-guided synthesis method that efficiently generates well-typed programs from large libraries by abstracting over types and iteratively refining the search space.
Contribution
The paper presents TYGAR, a novel abstraction refinement approach for type-guided synthesis over polymorphic datatypes, enabling scalable search in large component libraries.
Findings
H+ successfully solves 75% of queries within 5 attempts.
Median time to first solution is 1.4 seconds.
TYGAR effectively handles polymorphic types in synthesis.
Abstract
We consider the problem of type-directed component based synthesis where, given a set of (typed) components and a query type, the goal is to synthesize a term that inhabits the query. Classical approaches based on proof search in intuitionistic logics do not scale up to the standard libraries of modern languages, which span hundreds or thousands of components. Recent graph reachability based methods proposed for languages like Java do scale, but only apply to components over monomorphic data and functions: polymorphic data and functions infinitely explode the size of the graph that must be searched, rendering synthesis intractable. We introduce type-guided abstraction refinement (TYGAR), a new approach for scalable type-directed synthesis over polymorphic datatypes and components. Our key insight is that we can overcome the explosion by building a graph over abstract types which…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
