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

Frequency and risks of changes to clones

Published:21 May 2011Publication History

ABSTRACT

Code Clones - duplicated source fragments - are said to increase maintenance effort and to facilitate problems caused by inconsistent changes to identical parts. While this is certainly true for some clones and certainly not true for others, it is unclear how many clones are real threats to the system's quality and need to be taken care of. Our analysis of clone evolution in mature software projects shows that most clones are rarely changed and the number of unintentional inconsistent changes to clones is small. We thus have to carefully select the clones to be managed to avoid unnecessary effort managing clones with no risk potential.

References

  1. L. Aversano, L. Cerulo, and M. Di Penta. How clones are maintained: An empirical study. In CSMR. IEEE, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. B. S. Baker. Parameterized duplication in strings: Algorithms and an application to software maintenance. Journal on Computing, 26(5), 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. T. Bakota, R. Ferenc, and T. Gyimóthy. Clone smells in software evolution. In ICSM. IEEE, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  4. M. Balazinska, E. Merlo, M. Dagenais, B. Lagüe, and K. Kontogiannis. Advanced clone-analysis to support object-oriented system refactoring. In WCRE. IEEE, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. I. D. Baxter, A. Yahin, L. Moura, M. Sant'Anna, and L. Bier. Clone detection using abstract syntax trees. In ICSM. IEEE, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. de Wit, A. Zaidman, and A. van Deursen. Managing code clones using dynamic change tracking and resolution. In ICSM. IEEE, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  7. S. Ducasse, M. Rieger, and S. Demeyer. A language independent approach for detecting duplicated code. In ICSM. IEEE, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. N. Göde. Evolution of type-1 clones. In SCAM. IEEE, 2009.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. N. Göde and R. Koschke. Incremental clone detection. In CSMR. IEEE, 2009.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. N. Göde and R. Koschke. Studying clone evolution using incremental clone detection. JSME, 2010.Google ScholarGoogle Scholar
  11. J. Harder and N. Göde. Quo vadis, clone management? In IWSC. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Y. Higo, T. Kamiya, S. Kusumoto, and K. Inoue. Refactoring support based on code clone analysis. LNCS, 3009, 2004.Google ScholarGoogle Scholar
  13. L. Jiang, G. Misherghi, Z. Su, and S. Glondu. DECKARD: Scalable and accurate tree-based detection of code clones. In ICSE. IEEE, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. L. Jiang, Z. Su, and E. Chiu. Context-based detection of clone-related bugs. In ESEC/FSE. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. H. Johnson. Identifying redundancy in source code using fingerprints. In CASCON. IBM Press, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. E. Juergens and F. Deissenboeck. How much is a clone? In SQM, 2010.Google ScholarGoogle Scholar
  17. E. Juergens, F. Deissenboeck, B. Hummel, and S. Wagner. Do code clones matter? In ICSE. IEEE, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. T. Kamiya, S. Kusumoto, and K. Inoue. CCFinder: A multilinguistic token-based code clone detection system for large scale source code. TSE, 28(7), 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. J. Kapser and M. W. Godfrey. "Cloning considered harmful" considered harmful: patterns of cloning in software. ESE, 13(6), 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. M. Kim, V. Sazawal, D. Notkin, and G. C. Murphy. An empirical study of code clone genealogies. In ESEC/FSE. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. R. V. Komondoor and S. Horwitz. Using slicing to identify duplication in source code. In SAS. Springer-Verlag, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. R. Koschke. Survey of research on software clones. In R. Koschke, E. Merlo, and A. Walenstein, editors, Duplication, Redundancy, and Similarity in Software, number 06301 in Dagstuhl Seminar Proceedings, 2007.Google ScholarGoogle Scholar
  23. J. Krinke. Identifying similar code with program dependence graphs. In WCRE. IEEE, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. J. Krinke. A study of consistent and inconsistent changes to code clones. In WCRE. IEEE, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Z. Li, S. Lu, S. Myagmar, and Y. Zhou. CP-Miner: Finding copy-paste and related bugs in large-scale software code. TSE, 32(3), 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. A. Lozano and M. Wermelinger. Assessing the effect of clones on changeability. In ICSM. IEEE, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  27. A. Lozano, M. Wermelinger, and B. Nuseibeh. Evaluating the harmfulness of cloning: A change based experiment. In MSR. IEEE, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. J. Mayrand, C. Leblanc, and E. Merlo. Experiment on the automatic detection of function clones in a software system using metrics. In ICSM. IEEE, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. E. W. Myers. An O(ND) difference algorithm and its variations. Algorithmica, 1(2), 1986.Google ScholarGoogle Scholar
  30. T. T. Nguyen, H. A. Nguyen, N. H. Pham, J. M. Al-Kofahi, and T. N. Nguyen. Clone-aware configuration management. In ASE. IEEE, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. C. K. Roy and J. R. Cordy. A survey on software clone detection research. Technical report, Queens University at Kingston, Ontario, Canada, 2007.Google ScholarGoogle Scholar
  32. S. Thummalapenta, L. Cerulo, L. Aversano, and M. Di Penta. An empirical study on the maintenance of source code clones. ESE, 15(1), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. M. Toomim, A. Begel, and S. L. Graham. Managing duplicated code with linked editing. In Symposium on Visual Languages and Human Centric Computing. IEEE, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Y. Ueda, T. Kamiya, S. Kusumoto, and K. Inoue. On detection of gapped code clones using gap locations. In APSEC. IEEEy, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Frequency and risks of changes to clones

    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 '11: Proceedings of the 33rd International Conference on Software Engineering
      May 2011
      1258 pages
      ISBN:9781450304450
      DOI:10.1145/1985793

      Copyright © 2011 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: 21 May 2011

      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