DocumentCode :
3694199
Title :
A comparative study on the bug-proneness of different types of code clones
Author :
Manishankar Mondal;Chanchal K. Roy;Kevin A. Schneider
Author_Institution :
Department of Computer Science, University of Saskatchewan, Canada
fYear :
2015
Firstpage :
91
Lastpage :
100
Abstract :
Code clones are defined to be the exactly or nearly similar code fragments in a software system´s code-base. The existing clone related studies reveal that code clones are likely to introduce bugs and inconsistencies in the code-base. However, although there are different types of clones, it is still unknown which types of clones have a higher likeliness of introducing bugs to the software systems and so, should be considered more important for managing with techniques such as refactoring or tracking. With this focus, we performed a study that compared the bug-proneness of the major clone-types: Type 1, Type 2, and Type 3. According to our experimental results on thousands of revisions of seven diverse subject systems, Type 3 clones exhibit the highest bug-proneness among the three clone-types. The bug-proneness of Type 1 clones is the lowest. Also, Type 3 clones have the highest likeliness of being co-changed consistently while experiencing bug-fixing changes. Moreover, the Type 3 clones that experience bug-fixes have a higher possibility of evolving following a Similarity Preserving Change Pattern (SPCP) compared to the bug-fix clones of the other two clone-types. From the experimental results it is clear that Type 3 clones should be given a higher priority than the other two clone-types when making clone management decisions. We believe that our study provides useful implications for ranking clones for refactoring and tracking.
Keywords :
"Cloning","Computer bugs","Java","Software systems","Maintenance engineering","Terminology"
Publisher :
ieee
Conference_Titel :
Software Maintenance and Evolution (ICSME), 2015 IEEE International Conference on
Type :
conf
DOI :
10.1109/ICSM.2015.7332455
Filename :
7332455
Link To Document :
بازگشت