Specification-Guided Component-Based Synthesis from Effectful Libraries
Ashish Mishra, Suresh Jagannathan

TL;DR
This paper introduces a specification-guided synthesis method for effectful libraries using Hoare-style annotations, combining forward and backward search with conflict-driven learning to efficiently generate correct programs.
Contribution
It presents a novel bi-directional synthesis approach that leverages effect specifications and conflict-driven learning to handle effectful APIs more effectively.
Findings
Effective synthesis of effectful library components demonstrated
Conflict-driven learning improves search efficiency
Method scales to complex effectful OCaml libraries
Abstract
Component-based synthesis seeks to build programs using the APIs provided by a set of libraries. Oftentimes, these APIs have effects, which make it challenging to reason about the correctness of potential synthesis candidates. This is because changes to global state made by effectful library procedures affect how they may be composed together, yielding an intractably large search space that can confound typical enumerative synthesis techniques. If the nature of these effects are exposed as part of their specification, however, deductive synthesis approaches can be used to help guide the search for components. In this paper, we present a new specification-guided synthesis procedure that uses Hoare-style pre- and post-conditions to express fine-grained effects of potential library component candidates to drive a bi-directional synthesis search strategy. The procedure alternates between a…
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
TopicsSoftware Engineering Research · Software Engineering Techniques and Practices · Software Testing and Debugging Techniques
