Title
ReBA: refactoring-aware binary adaptation of evolving libraries
Abstract
Although in theory the APIs of software libraries and frameworks should be stable, they change in practice. This forces clients of the library API to change as well, making software maintenance expensive. Changing a client might not even be an option if its source code is missing or certain policies forbid its change. By giving a library both the old and the new API, clients can be shielded from API changes and can run with the new version of the library. This paper presents our solution and a tool, ReBA, that automatically generates compatibility layers between new library APIs and old clients. In the first stage, ReBA generates another version of the library, called adapted-library, that supports both the old and the new APIs. In the second stage, ReBA shrinks the adapted-library into a minimal, client-specific compatibility layer containing only classes truly required by the client. Evaluations on controlled experiments and case studies using Eclipse core libraries shows that our approach effectively adapts clients to new library versions, and is efficient.
Year
DOI
Venue
2008
10.1145/1368088.1368148
ICSE
Keywords
DocType
Citations 
library api,refactoring-aware binary adaptation,api change,new library version,new library apis,new apis,eclipse core library,new version,software library,old client,new api,software maintenance,source code
Conference
21
PageRank 
References 
Authors
0.95
15
4
Name
Order
Citations
PageRank
Danny Dig1157079.66
Stas Negara22189.23
Vibhu Mohindra3231.35
Ralph Johnson449229.52