Historical and impact analysis of API breaking changes
Carregando...
Arquivos
Data
Autor(es)
Título da Revista
ISSN da Revista
Título de Volume
Editor
Universidade Federal de Minas Gerais
Descrição
Tipo
Dissertação de mestrado
Título alternativo
Primeiro orientador
Membros da banca
Kecia Aline Marques Ferreira
Mariza Andrade da Silva Bigonha
Mariza Andrade da Silva Bigonha
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.
Abstract
Assunto
Software Manutenção, Computação, Redes de computadores
Palavras-chave
Evolução de Bibliotecas, Breaking Changes, Compatibilidade