• DocumentCode
    2706632
  • Title

    CatchUp! Capturing and replaying refactorings to support API evolution

  • Author

    Henkel, Johannes ; Diwan, Amer

  • Author_Institution
    Colorado Univ., Boulder, CO, USA
  • fYear
    2005
  • fDate
    15-21 May 2005
  • Firstpage
    274
  • Lastpage
    283
  • Abstract
    Library developers who have to evolve a library to accommodate changing requirements often face a dilemma: Either they implement a clean, efficient solution but risk breaking client code, or they maintain compatibility with client code, but pay with increased design complexity and thus higher maintenance costs over time. We address this dilemma by presenting a lightweight approach for evolving application programming interfaces (APIs), which does not depend on version control or configuration management systems. Instead, we capture API refactoring actions as a developer evolves an API. Users of the API can then replay the refactorings to bring their client software components up to date. We present CatchUp!, an implementation of our approach that captures and replays refactoring actions within an integrated development environment semi-automatically. Our experiments suggest that our approach could be valuable in practice.
  • Keywords
    application program interfaces; computer aided software engineering; programming environments; software libraries; software maintenance; API evolution; API refactoring; application programming interfaces; integrated development environment; software library development; Application software; Control systems; Costs; Java; Lighting control; Permission; Software engineering; Software libraries; Software maintenance; Software reusability;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering, 2005. ICSE 2005. Proceedings. 27th International Conference on
  • Print_ISBN
    1-59593-963-2
  • Type

    conf

  • DOI
    10.1109/ICSE.2005.1553570
  • Filename
    1553570