How do Developers React to API Evolution? a Large-Scale Empirical Study

Abstract : Software engineering research now considers that no system is an island, but it is part of an ecosystem involving other systems, developers, and users. When a framework or a library evolves, its clients often must adapt. For example, client developers might need to adapt to functionalities, client systems might need to be adapted to a new API, and client users might need to adapt to a new user interface. The consequences of these changes are yet unclear: what proportion of the ecosystem might be expected to react, how long might it take for a change to diffuse in the ecosystem, do all clients react in the same way? This paper reports an exploratory study aimed at observing API evolution and its impact on a large software ecosystem, Pharo, which has about 3,600 distinct systems, and six years of evolution. We analyze 118 API changes in the context of method replacement and suggestion, and answer research questions regarding the magnitude, duration, extension, and consistency of such changes in the ecosystem. The results of this study help to characterize the impact of API evolution in large software ecosystems and provide the basis to better understand how such impact can be alleviated.
Document type :
Journal articles
Complete list of metadatas

Cited literature [16 references]  Display  Hide  Download

https://hal.inria.fr/hal-01417930
Contributor : Lse Lse <>
Submitted on : Friday, December 16, 2016 - 10:57:16 AM
Last modification on : Friday, March 22, 2019 - 1:34:49 AM
Long-term archiving on : Tuesday, March 21, 2017 - 12:47:14 AM

File

2017-sqj.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

André Hora, Romain Robbes, Marco Tulio Valente, Nicolas Anquetil, Anne Etien, et al.. How do Developers React to API Evolution? a Large-Scale Empirical Study. Software Quality Journal, Springer Verlag, 2016, ⟨10.1007/s11219-016-9344-4⟩. ⟨hal-01417930⟩

Share

Metrics

Record views

385

Files downloads

273