Type-Directed Program Synthesis for RESTful APIs
Zheng Guo, David Cao, Davin Tjong, Jean Yang, Cole Schlesinger, Nadia, Polikarpova

TL;DR
APIphany is a novel program synthesizer that uses semantic types and efficient techniques to automatically generate RESTful API call sequences, simplifying complex API interactions for developers.
Contribution
It introduces a type inference algorithm, a data wrangling synthesis method, and a simulated execution approach tailored for REST API composition.
Findings
Successfully synthesized solutions for 29 out of 32 tasks
Achieved top-ten results for 23 tasks
Demonstrated effectiveness on real-world APIs
Abstract
With the rise of software-as-a-service and microservice architectures, RESTful APIs are now ubiquitous in mobile and web applications. A service can have tens or hundreds of API methods, making it a challenge for programmers to find the right combination of methods to solve their task. We present APIphany, a component-based synthesizer for programs that compose calls to RESTful APIs. The main innovation behind APIphany is the use of precise semantic types, both to specify user intent and to direct the search. APIphany contributes three novel mechanisms to overcome challenges in adapting component-based synthesis to the REST domain: (1) a type inference algorithm for augmenting REST specifications with semantic types; (2) an efficient synthesis technique for "wrangling" semi-structured data, which is commonly required in working with RESTful APIs; and (3) a new form of simulated…
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.
