Historical and impact analysis of API breaking changes

dc.creatorJosé Laerte Pires Xavier Júnior
dc.date.accessioned2019-08-12T12:57:24Z
dc.date.accessioned2025-09-08T23:57:41Z
dc.date.available2019-08-12T12:57:24Z
dc.date.issued2017-05-02
dc.identifier.urihttps://hdl.handle.net/1843/JCES-ARMPK6
dc.languagePortuguês
dc.publisherUniversidade Federal de Minas Gerais
dc.rightsAcesso Aberto
dc.subjectSoftware Manutenção
dc.subjectComputação
dc.subjectRedes de computadores
dc.subject.otherEvolução de Bibliotecas
dc.subject.otherBreaking Changes
dc.subject.otherCompatibilidade
dc.titleHistorical and impact analysis of API breaking changes
dc.typeDissertação de mestrado
local.contributor.advisor-co1Andre Cavalcante Hora
local.contributor.advisor1Marco Tulio de Oliveira Valente
local.contributor.referee1Kecia Aline Marques Ferreira
local.contributor.referee1Mariza Andrade da Silva Bigonha
local.description.resumoChange 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.initialsUFMG

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
joselaertexavier.pdf
Tamanho:
1.82 MB
Formato:
Adobe Portable Document Format