Frameworks and libraries change their APIs during evolution. Migrating an application to the new API is tedious and disrupts the development process. Although some tools and techniques 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 the changes the break existing applications 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 applications with no overhead on the component producers. Categories and Subject Descriptors D.2.7 [Software Engineering]: Distribution, Maintenance, and Enhancement – documentation; restructuring, reverse engineering, and reengineering; version control. General Terms Documentation, Economi...