2005
DOI: 10.1145/1095430.1081737
|View full text |Cite
|
Sign up to set email alerts
|

An empirical study of code clone genealogies

Abstract: It has been broadly assumed that code clones are inherently bad and that eliminating clones by refactoring would solve the problems of code clones. To investigate the validity of this assumption, we developed a formal definition of clone evolution and built a clone genealogy tool that automatically extracts the history of code clones from a source code repository. Using our tool we extracted clone genealogy information for two Java open source projects and analyzed their evolution.Our study contradicts some co… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

5
204
0

Year Published

2007
2007
2018
2018

Publication Types

Select...
8
1

Relationship

0
9

Authors

Journals

citations
Cited by 199 publications
(209 citation statements)
references
References 33 publications
(22 reference statements)
5
204
0
Order By: Relevance
“…Kim et al studied the evolution of code clones over time (Kim et al 2005). In this study they grouped clones into clone classes and measured how often they were changed together over a series of CVS checkins.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Kim et al studied the evolution of code clones over time (Kim et al 2005). In this study they grouped clones into clone classes and measured how often they were changed together over a series of CVS checkins.…”
Section: Related Workmentioning
confidence: 99%
“…Defining a set of evolutionary patterns based on the work of Kim et al (2005), they analyzed how maintenance activities affected clone classes. In particular, they investigated how and why some code clone classes change together and others did not.…”
Section: Related Workmentioning
confidence: 99%
“…However, the cloning rate does increase steadily over time as observed by Li et al (2006) for the Linux kernel and FreeBSD, where again only certain subsystems closer to the hardware show a higher rate of copy and paste code. Kim et al analyzed the clone genealogy for two open-source Java systems using historical data from a version control system (Kim et al 2005). A clone genealogy forms a graph that shows how clones derive in time over multiple versions of a program from common ancestors.…”
Section: Clone Evolutionmentioning
confidence: 99%
“…Kim et al (2005) argue that aggressive refactoring is not worth the effort, as most clones are short lived. Also, they suggest that long lived clones may not be refactorable due to language limitations.…”
Section: Introductionmentioning
confidence: 99%