• DocumentCode
    492602
  • Title

    ReBA

  • Author

    Dig, Danny ; Negara, Stas ; Mohindra, Vibhu ; Johnson, Ralph

  • Author_Institution
    Univ. of Illinois at Urbana-Champaign, Urbana, IL
  • fYear
    2008
  • fDate
    10-18 May 2008
  • Firstpage
    441
  • Lastpage
    450
  • 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.
  • Keywords
    application program interfaces; configuration management; software libraries; software maintenance; software reusability; application program interface; component reuse; evolving software library API; new library version; refactoring-aware binary adaptation; software maintenance; source code; api compatibility; component reuse; libraries; refactoring;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering, 2008. ICSE '08. ACM/IEEE 30th International Conference on
  • Conference_Location
    Leipzig
  • ISSN
    0270-5257
  • Print_ISBN
    978-1-4244-4486-1
  • Electronic_ISBN
    0270-5257
  • Type

    conf

  • DOI
    10.1145/1368088.1368148
  • Filename
    4814155