A Comparative Study of Software Bugs in Clone and Non-Clone Code
نویسندگان
چکیده
Code cloning is a recurrent operation in everyday software development. Whether it is a good or bad practice is an ongoing debate among researchers and developers for the last few decades. In this paper, we conduct a comparative study on bugproneness in clone code and non-clone code by analyzing commit logs. According to our inspection on thousands of revisions of seven diverse subject systems, the percentage of changed files due to bug-fix commits is significantly higher in clone code compared with non-clone code. We perform a Mann-WhitneyWilcoxon (MWW) test to show the statistical significance of our findings. Finally, the possibility of severe bugs occurring is higher in clone code than in non-clone code. Bug-fixing changes affecting clone code should be considered more carefully. According to our findings, clone code appears to be more bug-prone than non-clone code.
منابع مشابه
Four Interesting Ways in Which History Can Teach Us About Software
• Motivation: – Lots of research in clone detection, but more on algorithms and tools than on case studies and comprehension • What kinds of cloning are there? Why does cloning happen? What kinds are the most/least harmful? Do different clone kinds have different precision / recall numbers? Different algorithms? – Future work: track clone evolution • Do related bugs get fixed? Does cloned code ...
متن کاملStatic Bug Detection Through Analysis of Inconsistent Clones
Existing software systems contain a significant amount of duplicated code. Such redundancy can negatively impact program correctness, since inconsistent updates to duplicated code fragments are prone to introduce subtle bugs. This paper outlines our work-in-progress to statically detect inconsistencies in duplicated code fragments in order to find clone-related bugs. We illustrate the problem o...
متن کاملCode Clone Analysis Environment for Supporting Software Development and Maintenance
It is generally said that code clones are one of the factors to make software maintenace difficult. They are pairs or sets of code portions in source files that are identical or similar to each other. If some bugs are found in a code portion, it is nessesary to correct them in its all clones. However, in large-scale sofrware, it is very difficult to find all clones by hand. In this paper, we de...
متن کاملUsing Clone Detection to Manage a Product Line
Clone detection finds code in large software systems that has been replicated and modified by hand. Remarkably, clone detection works because people copy conceptually identifiable blocks of code, and make only a few changes, which means the same syntax is detectably repeated. Each identified clone thus indicates the presence of a useful problem domain concept, and simultaneously provides an exa...
متن کاملReview on Various Code Clone Detection Techniques
The code clone is defined as copying the original code and paste it either with or without modifications. Code clone detection process also known as the reprocessing of the original code. These clones make the entire code redundant. The code cloning also leads to the new bugs in the program. The code cloning has a major impact on the software industry as it complex the design of the software pr...
متن کامل