To deprecate or to simply drop operations? An empirical study on the evolution of a large OpenAPI collection
OpenAPI is a language agnostic standard used to describe Web APIs which supports the explicit deprecation of interface features. To assess how RESTFul APIs evolve over time and observe how their developers handle the introduction of breaking changes, we performed an empirical study on a dataset composed of 1,192,664 operations and their histories distributed across 407,028 commits contained in 149,704 unique APIs. These were mined from GitHub, extracting them from a collection of 780,078 OpenAPI description artifacts belonging to 271,111 APIs. Our results focus on detecting breaking changes due to operations removal and whether and to which extent deprecation is used to warn clients developers about dependencies they should no longer rely on. We found that only 5.2% of the explicit-deprecated operations and 8.0% of the deprecated-in- description operations end with a removal. We conclude that developers tend to avoid the operations removal after their deprecation, and even when they remove them, the tendency is do it in the first two years after the deprecation. While there is a low negative correlation between the presence of deprecated operations and the APIs age, we found also a weak negative correlation between the total amount of the defined operations and the ratio between the number of explicit-deprecated and the total amount of operations. This finding indicates the presence of more explicit-deprecated operations in smaller APIs, rather than in bigger ones.
Thu 22 SepDisplayed time zone: Belgrade, Bratislava, Budapest, Ljubljana, Prague change
Each paper is presented as a 5-minute pitch talk at the beginning. The rest of the session is a discussion.
After reaching the 3rd floor (either by elevator or the main staircase), turn right.