DocumentCode
3406790
Title
An empirical study of the fault-proneness of clone mutation and clone migration
Author
Shuai Xie ; Khomh, Foutse ; Ying Zou
Author_Institution
Dept. of Electr. & Comput. Eng., Queen´s Univ., Kingston, ON, Canada
fYear
2013
fDate
18-19 May 2013
Firstpage
149
Lastpage
158
Abstract
When implementing new features into a software system, developers may duplicate several lines of code to reuse some existing code segments. This action creates code clones in the software system. The literature has documented different types of code clone (e.g., Type-1, Type-2, and Type-3). Once created, code clones evolve as they are modified during both the development and maintenance phases of the software system. The evolution of code clones across the revisions of a software system is known as a clone genealogy. Existing work has investigated the fault-proneness of Type-1 and Type-2 clone genealogies. In this study, we investigate clone genealogies containing Type-3 clones. We analyze three long-lived software systems Apache-Ant, ArgoUML, and JBoss, which are all written in Java. Using the NiCad clone detection tool, we build clone genealogies and examine two evolutionary phenomena on clones: the mutation of the type of a clone during the evolution of a system, and the migration of clone segments across the repositories of a software system. Results show that 1) mutation and migration occur frequently in software systems; 2) the mutation of a clone group to Type-2 or Type-3 clones increases the risk for faults; 3) increasing the distance between code segments in a clone group also increases the risk for faults.
Keywords
software fault tolerance; software maintenance; APACHE-ANT; ARGOUML; JAVA; JBOSS; NICAD clone detection tool; Type-1 clone genealogy; Type-2 clone genealogy; Type-3 clone genealogy; clone migration; clone mutation; clone segment reuse; evolutionary phenomena; fault-proneness; long-lived software systems; software system development phase; software system maintenance phase; software system repositories; Cloning; History; Java; Layout; Maintenance engineering; Software systems; Types of clones; clone genealogy; clone migration; fault-proneness;
fLanguage
English
Publisher
ieee
Conference_Titel
Mining Software Repositories (MSR), 2013 10th IEEE Working Conference on
Conference_Location
San Francisco, CA
ISSN
2160-1852
Print_ISBN
978-1-4799-0345-0
Type
conf
DOI
10.1109/MSR.2013.6624022
Filename
6624022
Link To Document