Context: Refactoring is recognized as an effective practice to maintain evolving software systems. For software libraries, we study how library developers refactor their Application Programming Interfaces (APIs), especially when it impacts client users by breaking an API of the library. Objective: Our work aims to understand how clients that use a library API are affected by refactoring activities. We target popular libraries that potentially impact more library client users. Method: We distinguish between library APIs based on their client-usage (refereed to as client-used APIs) in order to understand the extent to which API breakages relate to refactorings. Our tool-based approach allows for a large-scale study across eight libraries (i.e...
Evolving an Application Programming Interface (API) is a delicate activity, as modifications to them...
Library developers are often unaware of how their library is used exactly in practice. When a librar...
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...
Change is a routine in software development. In the case of APIs provided by libraries and framework...
It is widely believed that refactoring improves software qual-ity and programmer productivity by mak...
It is widely believed that refactoring improves software quality and programmer productivity by maki...
Frameworks and libraries change their APIs. Migrating an application to the new API is tedious and d...
Software projects make use of libraries extensively. Libraries have intended API surfaces—sets of ex...
Software application programming interfaces (APIs) are a ubiquitous part of Software Engineering. Th...
Analyzing the Change-Proneness of APIs and web APIs APIs and web APIs are used to expose existing bu...
This is the dataset that accompanies the study: "How Do I Refactor This? An Empirical Study on Refac...
Refactoring aims at improving the internal structure of a software system without changing its exter...
The practice of software engineering involves the combination of existing software components with n...
Application Programming Interfaces (APIs) are a tremendous resource—that is, when they are stable. S...
Evolving an Application Programming Interface (API) is a delicate activity, as modifications to them...
Library developers are often unaware of how their library is used exactly in practice. When a librar...
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...
Change is a routine in software development. In the case of APIs provided by libraries and framework...
It is widely believed that refactoring improves software qual-ity and programmer productivity by mak...
It is widely believed that refactoring improves software quality and programmer productivity by maki...
Frameworks and libraries change their APIs. Migrating an application to the new API is tedious and d...
Software projects make use of libraries extensively. Libraries have intended API surfaces—sets of ex...
Software application programming interfaces (APIs) are a ubiquitous part of Software Engineering. Th...
Analyzing the Change-Proneness of APIs and web APIs APIs and web APIs are used to expose existing bu...
This is the dataset that accompanies the study: "How Do I Refactor This? An Empirical Study on Refac...
Refactoring aims at improving the internal structure of a software system without changing its exter...
The practice of software engineering involves the combination of existing software components with n...
Application Programming Interfaces (APIs) are a tremendous resource—that is, when they are stable. S...
Evolving an Application Programming Interface (API) is a delicate activity, as modifications to them...
Library developers are often unaware of how their library is used exactly in practice. When a librar...
Just like any software, libraries evolve to incorporate new features, bug fixes, security patches, a...