2009
DOI: 10.1007/s10664-009-9108-x
|View full text |Cite
|
Sign up to set email alerts
|

An empirical study on the maintenance of source code clones

Abstract: Code cloning has been very often indicated as a bad software development practice. However, many studies appearing in the literature indicate that this is not always the case. In fact, either changes occurring in cloned code are consistently propagated, or cloning is used as a sort of templating strategy, where cloned source code fragments evolve independently. This paper (i) proposes an automatic approach to classify the evolution of source code clone fragments, and (ii) reports a fine-grained analysis of clo… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

3
107
0

Year Published

2010
2010
2015
2015

Publication Types

Select...
7
3

Relationship

0
10

Authors

Journals

citations
Cited by 152 publications
(110 citation statements)
references
References 41 publications
3
107
0
Order By: Relevance
“…Several studies [18,32,22] have provided evidence for widespread presence of clones and there has been much interest and previous work on software engineering applications and implications such as software evolution [21,36,7,3,29], refactoring [4], and bug detection [24,31,23]. Many tools and techniques for detecting clones have been studied [34].…”
Section: Introductionmentioning
confidence: 99%
“…Several studies [18,32,22] have provided evidence for widespread presence of clones and there has been much interest and previous work on software engineering applications and implications such as software evolution [21,36,7,3,29], refactoring [4], and bug detection [24,31,23]. Many tools and techniques for detecting clones have been studied [34].…”
Section: Introductionmentioning
confidence: 99%
“…Commonly this versioning support lives mostly on the file or syntactical level. At the same time, useful historical analyses on the abstract semantical level are being developed, such as clone evolution [28]. The problem with abstract models and language inter-dependencies in the IDE is that they too must provide historic information in order to provide meaningful support [7].…”
Section: Open Challenges Questions and Opportunitiesmentioning
confidence: 99%
“…Uddin et al [32] proposed to mine VCS histories of client applications to study how their use of APIs evolves over time, which is helpful both to developers and users of the libraries' APIs. Canfora et al [4,5] and Thummalapenta et al [30] used VCS snapshots to study and track the evolution of different software entities such as source lines, bugs, and clones. More recently, Nguyen et al [25] extracted methodlevel code changes from revision histories of Java projects and studied their within-project and cross-project repetitiveness.…”
Section: Mining Source Codementioning
confidence: 99%