Checkers: Multi-modal Darwinian API Optimisation

Santanu Kumar Dash,Fan Wu,Michail Basios,Lingbo Li,Leslie Kanthan
DOI: https://doi.org/10.1145/3387940.3392173
2020-01-01
Abstract:ABSTRACTAdvent of microservices has increased the popularity of the API-first design principles. Developers have been focusing on concretising the API to a system before building the system. An API-first approach assumes that the API will be correctly used. Inevitably, most developers, even experienced ones, end-up writing sub-optimal software because of using APIs incorrectly. In this paper, we discuss an automated approach for exploring API equivalence and a framework to synthesise semantically equivalent programs. Unlike existing approaches to API transplantation, we propose an amorphous or formless approach to software translation in which a single API could potentially be replaced by a synthesised sequence of APIs which ensures type progress. Our search is guided by the non-functional goals for the software, a type-theoretic notion of progress, the application's test suite and an automatic multi-modal embedding of the API from its documentation and code analysis.
What problem does this paper attempt to address?