Using Refactorings to Automatically Update Component-Based Applications
Daniel Dig, UIUC
Frameworks and libraries change their APIs. Migrating an application to the new API is tedious and disrupts the development process. Although some tools and ideas have been proposed to solve the evolution of APIs, most updates are done manually. Our goal is to reduce the burden of reuse on maintenance by reducing the cost of adapting to change. We studied the API changes of three frameworks and one library and discovered that over 80% of these changes are refactorings. This suggests that refactoring-based migration tools should be used to effectively update applications. We propose a methodology to automatically and safely update component-based application with no overhead on the component producers.
Keywords: library, framework reuse, software maintenance, backwards compatibility