Affiliation:
1. Department of Computer Engineering and Software Engineering, Polytechnique Montréal, Montréal, Qc, Canada
2. Department of Computer Science and Software Engineering, Concordia University, Montréal, Qc, Canada
Abstract
Recent software advances have led to an expansion of the development and usage of application programming interfaces (APIs). From millions of Android packages (APKs) available on Google Store to millions of open-source packages available in Maven, PyPI, and npm, APIs have become an integral part of software development.
Like any software artifact, software APIs evolve and suffer from this evolution. Prior research has uncovered many challenges to the development, usage, and evolution of APIs. While some challenges have been studied and solved, many remain. These challenges are scattered in the literature, which hides advances and cloaks the remaining challenges.
In this systematic literature review on APIs and API evolution, we uncover and describe publication trends and trending topics. We compile common research goals, evaluation methods, metrics, and subjects. We summarize the current state-of-the-art and outline known existing challenges as well as new challenges uncovered during this review.
We conclude that the main remaining challenges related to APIs and API evolution are (1) automatically identifying and leveraging factors that drive API changes, (2) creating and using uniform benchmarks for research evaluation, and (3) understanding the impact of API evolution on API developers and users with respect to various programming languages.
Publisher
Association for Computing Machinery (ACM)
Subject
General Computer Science,Theoretical Computer Science
Cited by
24 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. DocFlow: Extracting Taint Specifications from Software Documentation;Proceedings of the 46th IEEE/ACM International Conference on Software Engineering;2024-02-06
2. Unboxing Default Argument Breaking Changes in Scikit Learn;2023 IEEE 23rd International Working Conference on Source Code Analysis and Manipulation (SCAM);2023-10-02
3. Interactively Exploring API Changes and Versioning Consistency;2023 IEEE Working Conference on Software Visualization (VISSOFT);2023-10-01
4. AgroAPI platform: An initiative to support digital solutions for agribusiness ecosystems;Smart Agricultural Technology;2023-10
5. MELT: Mining Effective Lightweight Transformations from Pull Requests;2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE);2023-09-11