Type-Directed Program Synthesis for RESTful APIs

PROCEEDINGS OF THE 43RD ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '22)(2022)

引用 12|浏览21
暂无评分
摘要
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 lwranglingz semi-structured data, which is commonly required in working with RESTful APIs; and (3) a new form of simulated execution to avoid executing APIs calls during synthesis. We evaluate APIphany on three real-world APIs and 32 tasks extracted from GITHUB repositories and STACKOVERFLOW. In our experiments, APIPHANY found correct solutions to 29 tasks, with 23 of them reported among top ten synthesis results.
更多
查看译文
关键词
Program Synthesis, RESTful API, Type Inference
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要