skip to main content
10.1145/1806799.1806848acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

AURA: a hybrid approach to identify framework evolution

Published:01 May 2010Publication History

ABSTRACT

Software frameworks and libraries are indispensable to today's software systems. As they evolve, it is often time-consuming for developers to keep their code up-to-date, so approaches have been proposed to facilitate this. Usually, these approaches cannot automatically identify change rules for one-replaced-by-many and many-replaced-by-one methods, and they trade off recall for higher precision using one or more experimentally-evaluated thresholds. We introduce AURA, a novel hybrid approach that combines call dependency and text similarity analyses to overcome these limitations. We implement it in a Java system and compare it on five frameworks with three previous approaches by Dagenais and Robillard, M. Kim et al., and Schäfer et al. The comparison shows that, on average, the recall of AURA is 53.07% higher while its precision is similar, e.g., 0.10% lower.

References

  1. G. Antoniol, M. D. Penta, and E. Merlo. An automatic approach to identify class evolution discontinuities. In IWPSE '04: Proceedings of the Principles of Software Evolution, 7th International Workshop, pages 31--40. IEEE Computer Society, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. I. Balaban, F. Tip, and R. Fuhrer. Refactoring support for class library migration. In OOPSLA '05: Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 265--279, New York, NY, USA, 2005. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. K. Chow and D. Notkin. Semi-automatic update of applications in response to library changes. In ICSM '96: Proceedings of the 1996 International Conference on Software Maintenance, page 359, Washington, DC, USA, 1996. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. Cohen. Statistical power analysis for the behavioral sciences. L. Earlbaum Associates, 1988.Google ScholarGoogle Scholar
  5. B. Dagenais and M. P. Robillard. Recommending adaptive changes for framework evolution. In ICSE '08: Proceedings of the 30th international conference on Software engineering, pages 481--490, New York, NY, USA, 2008. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. Demeyer, S. Ducasse, and O. Nierstrasz. Finding refactorings via change metrics. In OOPSLA '00: Proceedings of the 15th ACM SIGPLAN conference on Object-oriented, programming, systems, languages, and applications, pages 166--177, New York, NY, USA, 2000. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Dig, C. Comertoglu, D. Marinov, and R. Johnson. Automated detection of refactorings in evolving components. In ECOOP '06: Proceedings of the 20th European Conference on Object-Oriented Programming. Springer Berlin / Heidelberg, July 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Dig and R. Johnson. How do apis evolve? a story of refactoring: Research articles. J. Softw. Maint. Evol, 18(2):83--107, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Dig, K. Manzoor, R. Johnson, and T. N. Nguyen. Refactoring-aware configuration management for object-oriented programs. In ICSE '07: Proceedings of the 29th international conference on Software Engineering, pages 427--436, Washington, DC, USA, 2007. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. B. Fluri and H. C. Gall. Classifying change types for qualifying change couplings. In ICPC '06: Proceedings of the 14th IEEE International Conference on Program, Comprehension, pages 35--45, Washington, DC, USA, 2006. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. M. German and A. E. Hassan. License integration patterns: Addressing license mismatches in component-based development. In ICSE '09: Proceedings of the 2009 IEEE 31st International Conference on, Software Engineering, pages 188--198, Washington, DC, USA, 2009. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. W. Godfrey and L. Zou. Using origin analysis to detect merging and splitting of source code entities. IEEE Trans. Softw. Eng., 31 (2): 166--181, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. Henkel and A. Diwan. Catchup!: capturing and replaying refactorings to support api evolution. In ICSE '05: Proceedings of the 27th international conference on, Software engineering, pages 274--283, New York, NY, USA, 2005. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Y. Kataoka, M. D. Ernst, W. G. Griswold, and D. Notkin. Automated support for program refactoring using invariants. In ICSM '01: Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01), page 736, Washington, DC, USA, 2001. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. C. Kemper and C. Overbeck. What's new with jbuilder. In JavaOne Sun's 2005 Worldwide Java, Developer Conference, 2005.Google ScholarGoogle Scholar
  16. M. Kim, D. Notkin, and D. Grossman. Automatic inference of structural changes for matching across program versions. In ICSE '07: Proceedings of the 29th international conference on Software Engineering, pages 333--343, Washington, DC, USA, Not Available 2007. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Kim, K. Pan, and E. J. Whitehead, Jr. When functions change their names: Automatic detection of origin relationships. In WORE '05: Proceedings of the 12th Working Conference on, Reverse Engineering, pages 143--152, Washington, DC, USA, 2005. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. Lawrie, H. Feild, and D. Binkley. Syntactic identifier conciseness and consistency. In Sixth, IEEE International Workshop on Source Code Analysis and Manipulation., pages 139--148, Sept. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. G. Malpohl, J. J. Hunt, and W. E. Tichy. Renaming detection, page 73, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. T. Schäfer, J. Jonas, and M. Mezini. Mining framework usage changes from instantiation code. In ICSE '08: Proceedings of the 30th international conference on, Software engineering, pages 471--480, New York, NY, USA, May 2008. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. P. Steyaert, C. Lucas, K. Mens, and T. D'Hondt. Reuse contracts: managing the evolution of reusable assets. SIGPLAN Not., 31(10):268--285, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. P. Weißgerber and S. Diehl. Identifying refactorings from source-code changes. In ASE '06: Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering, pages 231--240, Washington, DC, USA, 2006. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Z. Xing and E. Stroulia. Refactoring detection based on umldiff change-facts queries. In WCRE '06: Proceedings of the 13th Working Conference on, Reverse Engineering, pages 263--274, Washington, DC, USA, 2006. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Z. Xing and E. Stroulia. API-evolution support with diff-CatchUp. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 33(12):818--836, December 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. R. K. Yin. Case Study Research: Design and Methods - Third, Edition. SAGE Publications, 3 edition, 2002.Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    ICSE '10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
    May 2010
    627 pages
    ISBN:9781605587196
    DOI:10.1145/1806799

    Copyright © 2010 ACM

    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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 May 2010

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

    Acceptance Rates

    Overall Acceptance Rate276of1,856submissions,15%

    Upcoming Conference

    ICSE 2025

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader