Abstract
Advent 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.
Cite
CITATION STYLE
Dash, S. K., Wu, F., Basios, M., Li, L., & Kanthan, L. (2020). Checkers: Multi-modal Darwinian API Optimisation. In Proceedings - 2020 IEEE/ACM 42nd International Conference on Software Engineering Workshops, ICSEW 2020 (pp. 291–292). Association for Computing Machinery, Inc. https://doi.org/10.1145/3387940.3392173
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.