Historical and impact analysis of API breaking changes
| dc.creator | José Laerte Pires Xavier Júnior | |
| dc.date.accessioned | 2019-08-12T12:57:24Z | |
| dc.date.accessioned | 2025-09-08T23:57:41Z | |
| dc.date.available | 2019-08-12T12:57:24Z | |
| dc.date.issued | 2017-05-02 | |
| dc.identifier.uri | https://hdl.handle.net/1843/JCES-ARMPK6 | |
| dc.language | Português | |
| dc.publisher | Universidade Federal de Minas Gerais | |
| dc.rights | Acesso Aberto | |
| dc.subject | Software Manutenção | |
| dc.subject | Computação | |
| dc.subject | Redes de computadores | |
| dc.subject.other | Evolução de Bibliotecas | |
| dc.subject.other | Breaking Changes | |
| dc.subject.other | Compatibilidade | |
| dc.title | Historical and impact analysis of API breaking changes | |
| dc.type | Dissertação de mestrado | |
| local.contributor.advisor-co1 | Andre Cavalcante Hora | |
| local.contributor.advisor1 | Marco Tulio de Oliveira Valente | |
| local.contributor.referee1 | Kecia Aline Marques Ferreira | |
| local.contributor.referee1 | Mariza Andrade da Silva Bigonha | |
| local.description.resumo | Change is a routine in software development. In the case of APIs provided by libraries and frameworks changes can be backward-incompatible, breaking contracts with client applications. In this dissertation, we perform two studies on API breaking changes. We assess (i) the frequency of breaking changes, (ii) their behavior over time, (iii) the impact on clients, (iv) the characteristics of libraries with high frequency of breaking changes, (v) the reasons why developers introduce them, and (vi) developers awareness on the risks associated to breaking changes. Our large-scale analysis on 317 real-world Java libraries, 9K releases, and 260K client applications shows that (i) 14.78% of the API changes break compatibility, (ii) their frequency increases over time, (iii) 2.54% of API clients are impacted, and (iv) systems with higher frequency of breaking changes are larger, more popular, and more active. We also survey API developers to reveal a list of five reasons why they break APIs. | |
| local.publisher.initials | UFMG |
Arquivos
Pacote original
1 - 1 de 1