Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1176617.1176668acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

Automated upgrading of component-based applications

Published: 22 October 2006 Publication History

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. Our study of the API changes in five components revealed that over 80% of the changes that break existing applications are caused by refactorings. This suggests that refactoring-based migration tools should be used to effectively upgrade applications. We propose an approach that is both automated and safe, without any overhead on the component producers. First, component refactorings are automatically detected (either inferred or recorded), then they are incorporated into applications by replaying.

References

[1]
Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Adison-Wesley (1999)
[2]
Chow, K., Notkin, D.: Semi-automatic update of applications in response to library changes. In: ICSM'96: Proceedings of International Conference on Software Maintenance. 359--368
[3]
Keller, R., Hölzle, U.: Binary component adaptation. Lecture Notes in Computer Science text1445 (1998) 307--329
[4]
Roock, S., Havenstein, A.: Refactoring tags for automatic refactoring of framework dependent applications. XP'02: Proceedings of Extreme Programming Conference. 182--185
[5]
Balaban, I., Tip, F., Fuhrer, R.: Refactoring support for class library migration. OOPSLA '05: Proceedings of Object-oriented programming, systems, languages, and applications. 265--279
[6]
Dig, D., Johnson, R.: The role of refactorings in API evolution. ICSM '05: Proceedings of International Conference on Software Maintenance. 389--398
[7]
Dig, D., Johnson, R.: How do APIs evolve? A story of refactoring. Journal of Software Maintenance and Evolution text18 (2006) 87--103
[8]
Henkel, J., Diwan, A.: CatchUp!: Capturing and replaying refactorings to support API evolution. ICSE'05: Proceedings of International Conference on Software Engineering. 274--283
[9]
Dig, D., Comertoglu, C., Marinov, D., Johnson, R.: Automated detection of refactorings in evolving components. ECOOP'06: European Conference on OO Programming. 404--428
[10]
Dig, D., Nguyen, T., Johnson, R.: Refactoring-aware software configuration management. Tech Report UIUCDCS-R-2006-2710,UIUC(2006)
[11]
E. Lippe and N. van Oosterom. Operation-based merging. In SDE5: Proceedings of Symposium on Software Development Environments. 78--87

Cited By

View all

Index Terms

  1. Automated upgrading of component-based applications

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    OOPSLA '06: Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
    October 2006
    530 pages
    ISBN:159593491X
    DOI:10.1145/1176617
    • General Chair:
    • Peri Tarr,
    • Program Chair:
    • William R. Cook
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 22 October 2006

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. component reuse
    2. frameworks
    3. libraries
    4. refactoring

    Qualifiers

    • Article

    Conference

    OOPSLA06
    Sponsor:

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)9
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 26 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Multilingual code refactoring detection based on deep learningExpert Systems with Applications10.1016/j.eswa.2024.125164258(125164)Online publication date: Dec-2024
    • (2022)RefactoringMiner 2.0IEEE Transactions on Software Engineering10.1109/TSE.2020.300772248:3(930-950)Online publication date: 1-Mar-2022
    • (2021)A Systematic Review of API Evolution LiteratureACM Computing Surveys10.1145/347013354:8(1-36)Online publication date: 4-Oct-2021
    • (2018)Test migration for efficient large-scale assessment of mobile app coding assignmentsProceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3213846.3213854(164-175)Online publication date: 12-Jul-2018

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media