How do APIs evolve? A story of refactoring: Research Articles

  • Authors:
  • Danny Dig;Ralph Johnson

  • Affiliations:
  • Department of Computer Science, University of Illinois at Urbana-Champaign, 201 N Goodwin Avenue, Urbana, IL 61801, U.S.A.;Department of Computer Science, University of Illinois at Urbana-Champaign, 201 N Goodwin Avenue, Urbana, IL 61801, U.S.A.

  • Venue:
  • Journal of Software Maintenance and Evolution: Research and Practice - IEEE International Conference on Software Maintenance (ICSM2005)
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

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. To better understand the requirements for migration tools, we studied the API changes of four frameworks and one library. We discovered that the changes that break existing applications are not random, but tend to fall into particular categories. Over 80% of these changes are refactorings. This suggests that refactoring-based migration tools should be used to update applications. Copyright © 2006 John Wiley & Sons, Ltd.