Classification of Changes in API Evolution

Rediana Koci, Xavier Franch, Petar Jovanovic, Alberto Abello
2019 2019 IEEE 23rd International Enterprise Distributed Object Computing Conference (EDOC)  
Applications typically communicate with each other, accessing and exposing data and features by using Application Programming Interfaces (APIs). Even though API consumers expect APIs to be steady and well established, APIs are prone to continuous changes, experiencing different evolutive phases through their lifecycle. These changes are of different types, caused by different needs and are affecting consumers in different ways. In this paper, we identify and classify the changes that often
more » ... n to APIs, and investigate how all these changes are reflected in the documentation, release notes, issue tracker and API usage logs. The analysis of each step of a change, from its implementation to the impact that it has on API consumers, will help us to have a bigger picture of API evolution. Thus, we review the current state of the art in API evolution and, as a result, we define a classification framework considering both the changes that may occur to APIs and the reasons behind them. In addition, we exemplify the framework using a software platform offering a Web API, called District Health Information System (DHIS2), used collaboratively by several departments of World Health Organization (WHO).
doi:10.1109/edoc.2019.00037 dblp:conf/edoc/KociF0A19 fatcat:3aidqrhrbfhjbjes3d5jgk45zm