How do developers react to API evolution? A large scale empirical study
Author
dc.contributor.author
Hora, Andre
Author
dc.contributor.author
Robbes, Romain
Author
dc.contributor.author
Valente, Marco Tulio
Author
dc.contributor.author
Anquetil, Nicolas
Author
dc.contributor.author
Etien, Anne
Author
dc.contributor.author
Ducasse, Stephane
Admission date
dc.date.accessioned
2018-07-31T15:09:10Z
Available date
dc.date.available
2018-07-31T15:09:10Z
Publication date
dc.date.issued
2018
Cita de ítem
dc.identifier.citation
Software Qual J (2018) 26: 161–191
es_ES
Identifier
dc.identifier.other
10.1007/s11219-016-9344-4
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/150480
Abstract
dc.description.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 3600 distinct systems, and 6 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.