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

Recommending adaptive changes for framework evolution

Published:10 May 2008Publication History

ABSTRACT

In the course of a framework's evolution, changes ranging from a simple refactoring to a complete rearchitecture can break client programs. Finding suitable replacements for framework elements that were accessed by a client program and deleted as part of the framework's evolution can be a challenging task. We present a recommendation system, SemDiff, that suggests adaptations to client programs by analyzing how a framework adapts to its own changes. In a study of the evolution of the Eclipse JDT framework and three client programs, our approach recommended relevant adaptive changes with a high level of precision, and detected non-trivial changes typically undiscovered by current refactoring detection techniques.

References

  1. J.-S. Boulanger and M. P. Robillard. Managing concern interfaces. In Proc. of the 22nd IEEE Int'l Conference on Software Maintenance, pages 14--23, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Bruch, T. Schäfer, and M. Mezini. FrUiT: IDE support for framework understanding. In Proc. of the 2006 OOPSLA workshop on eclipse technology eXchange, pages 55--59, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. K. Chow and D. Notkin. Semi-automatic update of applications in response to library changes. In Proc. of the Int'l Conference on Software Maintenance, pages 359--369, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. B. Daniel, D. Dig, K. Garcia, and D. Marinov. Automated testing of refactoring engines. In Proc. of the the 6th joint meeting of the European software engineering conference and the symposium on The foundations of software engineering, pages 185--194, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. Dig, C. Comertoglu, D. Marinov, and R. Johnson. Automated detection of refactorings in evolving components. In Proc. of the European Conference on Object-Oriented Programming, pages 404--428, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Dig and R. Johnson. How do APIs evolve? A story of refactoring. Journal of software maintenance and evolution: Research and Practice, 18(2):83--107, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Dig, K. Manzoor, R. Johnson, and T. N. Nguyen. Refactoring-aware configuration management for object-oriented programs. In Proc. of the 29th Int'l Conference on Software Engineering, pages 427--436, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. B. Fluri, M. Würsch, M. Pinzger, and H. C. Gall. Change distilling: Tree differencing for fine-grained source code change extraction. IEEE Transactions on Software Engineering, 33(11):725--743, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. W. Godfrey and L. Zou. Using origin analysis to detect merging and splitting of source code entities. IEEE Transactions on Software Engineering, 31(2):166--181, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Henkel and A. Diwan. Catchup!: capturing and replaying refactorings to support API evolution. In Proc. of the 27th international conference on Software engineering, pages 274--283, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. Holmes, R. J. Walker, and G. C. Murphy. Approximate structural context matching: An approach for recommending relevant examples. IEEE Transactions on Software Engineering, 32(12):952--970, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Kersten and G. C. Murphy. Using task context to improve programmer productivity. In Proc. of the 14th international symposium on Foundations of software engineering, pages 1--11, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Kim, D. Notkin, and D. Grossman. Automatic inference of structural changes for matching across program versions. In Proc. of the 29th Int'l Conference on Software Engineering, pages 333--343, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. S. Kim, K. Pan, and J. E. James Whitehead. When functions change their names: Automatic detection of origin relationships. In Proc. of the 12th Working Conference on Reverse Engineering, pages 143--152, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. B. P. Lientz and E. B. Swanson. Software Maintenance Management. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. N. Nystrom, M. R. Clarkson, and A. C. Myers. Polyglot: An extensible compiler framework for java. In Proc. of the 12th Int'l Conference on Compiler Construction, pages 138--152, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. Ratzinger, T. Sigmund, P. Vorburger, and H. C. Gall. Mining software evolution to predict refactoring. In Proc. of the Int'l Symposium on Empirical Software Engineering and Measurement, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. T. Schäfer, J. Jonas, and M. Mezini. Mining framework usage changes from instantiation code. In To appear in Proc. of the 30th Int'l Conference on Software Engineering, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. V. Sundaresan, P. Lam, E. Gagnon, R. Vallée-Rai, L. Hendren, and P. Co. Soot - a java optimization framework. In Proc. of CASCON, pages 125--135, 1999.Google ScholarGoogle Scholar
  20. P. Weißgerber and S. Diehl. Identifying refactorings from source-code changes. In Proc. of the 21st IEEE Int'l Conference on Automated Software Engineering, pages 231--240, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Z. Xing and E. Stroulia. Understanding the evolution and co-evolution of classes in object-oriented systems. Int'l Journal of Software Engineering and Knowledge Engineering, 16(1):23--51, 2006.Google ScholarGoogle ScholarCross RefCross Ref
  22. T. Zimmermann and P. Weißgerber. Preprocessing cvs data for fine-grained analysis. In Proc. of the Int'l Workshop on Mining Software Repositories, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  23. T. Zimmermann, A. Zeller, P. Weißgerber, and S. Diehl. Mining version histories to guide software changes. IEEE Transactions on Software Engineering, 31(6):429--445, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Recommending adaptive changes for framework evolution

      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 '08: Proceedings of the 30th international conference on Software engineering
        May 2008
        558 pages
        ISBN:9781605580791
        DOI:10.1145/1368088

        Copyright © 2008 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: 10 May 2008

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        ICSE '08 Paper Acceptance Rate56of370submissions,15%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