spelling |
Marco Tulio de Oliveira ValenteAndre Cavalcante HoraKecia Aline Marques FerreiraMariza Andrade da Silva BigonhaJosé Laerte Pires Xavier Júnior2019-08-12T12:57:24Z2019-08-12T12:57:24Z2017-05-02http://hdl.handle.net/1843/JCES-ARMPK6Change 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.Universidade Federal de Minas GeraisUFMGSoftware ManutençãoComputaçãoRedes de computadoresEvolução de BibliotecasBreaking ChangesCompatibilidadeHistorical and impact analysis of API breaking changesinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGORIGINALjoselaertexavier.pdfapplication/pdf1907241https://repositorio.ufmg.br/bitstream/1843/JCES-ARMPK6/1/joselaertexavier.pdf810a61809fe0e189a603190738e320b0MD51TEXTjoselaertexavier.pdf.txtjoselaertexavier.pdf.txtExtracted texttext/plain139231https://repositorio.ufmg.br/bitstream/1843/JCES-ARMPK6/2/joselaertexavier.pdf.txt2f51c26af09a356ce11a0333eab30001MD521843/JCES-ARMPK62019-11-14 17:54:13.878oai:repositorio.ufmg.br:1843/JCES-ARMPK6Repositório InstitucionalPUBhttps://repositorio.ufmg.br/oaiopendoar:2019-11-14T20:54:13Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false
|