Web API Change-Proneness Prediction

Rediana Koçi, Xavier Franch, Petar Jovanović, Alberto Abelló · 2024

Change-proneness of software artifacts has been mainly related to the design characteristics and their previous history of changes. While these two aspects are essential and contribute significantly to the prediction, they leave out a critical factor: how the artifacts are being used. In the context of web APIs, consumers represent one of the main drivers of the change. Therefore, we propose a methodology for predicting the change-proneness of web API endpoint interfaces, taking into account not only design and change history but also their usage. Since the evolution of web APIs is and should be usage-driven, the way consumers use an API affects the future changes implemented by providers. Consequently, consumers' usage behavior contains essential information that contributes to identifying endpoints that are more prone to change. By considering the reasons behind changes, we introduce a set of metrics comprising design and usage aspects to be used as variables in prediction. To demonstrate the usefulness of the approach we perform an initial evaluation using a real-world web API. We quantify the introduced metrics using web API documentation, code, and usage logs in order to build a classifier able to predict with 82 % accuracy if an endpoint will change based on its design, history of changes, and usage characteristics.

Read the paper · More papers on PaperTik