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 i...
Software application programming interfaces (APIs) are a ubiquitous part of Software Engineering. Th...
Today's software industry relies heavily on the reuse of existing software libraries. Such libraries...
Just like any software, libraries evolve to incorporate new features, bug fixes, security patches, a...
Context: Refactoring is recognized as an effective practice to maintain evolving software systems. F...
Application Programming Interfaces (APIs) are a tremendous resource—that is, when they are stable. S...
Application Programming Interfaces (APIs) are a tremendous resource—that is, when they are stable. S...
Application Programming Interfaces (APIs) are a tremendous resource—that is, when they are stable. S...
Just like any software, libraries evolve to incorporate new features, bug fixes, security patches, a...
Analyzing the Change-Proneness of APIs and web APIs APIs and web APIs are used to expose existing bu...
Bibliotecas e APIs são comumente usadas no desenvolvimento de software, visto que permitem o reuso d...
Applications typically communicate with each other, accessing and exposing data and features by usin...
International audienceSoftware engineering research now considers that no system is an island, but i...
Evolving an Application Programming Interface (API) is a delicate activity, as modifications to them...
ust like any software, libraries evolve to incorporate new features, bug fixes, security patches, an...
Library developers are often unaware of how their library is used exactly in practice. When a librar...
Software application programming interfaces (APIs) are a ubiquitous part of Software Engineering. Th...
Today's software industry relies heavily on the reuse of existing software libraries. Such libraries...
Just like any software, libraries evolve to incorporate new features, bug fixes, security patches, a...
Context: Refactoring is recognized as an effective practice to maintain evolving software systems. F...
Application Programming Interfaces (APIs) are a tremendous resource—that is, when they are stable. S...
Application Programming Interfaces (APIs) are a tremendous resource—that is, when they are stable. S...
Application Programming Interfaces (APIs) are a tremendous resource—that is, when they are stable. S...
Just like any software, libraries evolve to incorporate new features, bug fixes, security patches, a...
Analyzing the Change-Proneness of APIs and web APIs APIs and web APIs are used to expose existing bu...
Bibliotecas e APIs são comumente usadas no desenvolvimento de software, visto que permitem o reuso d...
Applications typically communicate with each other, accessing and exposing data and features by usin...
International audienceSoftware engineering research now considers that no system is an island, but i...
Evolving an Application Programming Interface (API) is a delicate activity, as modifications to them...
ust like any software, libraries evolve to incorporate new features, bug fixes, security patches, an...
Library developers are often unaware of how their library is used exactly in practice. When a librar...
Software application programming interfaces (APIs) are a ubiquitous part of Software Engineering. Th...
Today's software industry relies heavily on the reuse of existing software libraries. Such libraries...
Just like any software, libraries evolve to incorporate new features, bug fixes, security patches, a...