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
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;
Conference_Titel :
Mining Software Repositories (MSR), 2013 10th IEEE Working Conference on
Conference_Location :
San Francisco, CA
Print_ISBN :
978-1-4799-0345-0
DOI :
10.1109/MSR.2013.6624022