Synthesis through Unification
Rajeev Alur, Pavol Cerny, Arjun Radhakrishna

TL;DR
The paper introduces Synthesis through Unification (STUN), an extension of CEGIS, which improves program synthesis by unifying partial solutions, leading to better performance on benchmarks.
Contribution
It proposes the STUN approach that unifies partial programs to enhance synthesis efficiency, extending CEGIS with a novel unification concept and demonstrating its effectiveness.
Findings
STUN outperforms pure CEGIS on standard benchmarks.
Prototype tools show significant performance improvements.
Unification enables solving more complex synthesis problems.
Abstract
Given a specification and a set of candidate programs (program space), the program synthesis problem is to find a candidate program that satisfies the specification. We present the synthesis through unification (STUN) approach, which is an extension of the counter-example guided inductive synthesis (CEGIS) approach. In CEGIS, the synthesizer maintains a subset S of inputs and a candidate program Prog that is correct for S. The synthesizer repeatedly checks if there exists a counter-example input c such that the execution of Prog is incorrect on c. If so, the synthesizer enlarges S to include c, and picks a program from the program space that is correct for the new set S. The STUN approach extends CEGIS with the idea that given a program Prog that is correct for a subset of inputs, the synthesizer can try to find a program Prog' that is correct for the rest of the inputs. If Prog and…
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.
Taxonomy
TopicsFormal Methods in Verification · Software Testing and Debugging Techniques · Embedded Systems Design Techniques
