The relationship of software quality characteristics to code clones
Letha Hughes Etzkorn, Matthew D. Beard · 2013
Duplicate or similar fragments of are referred to as code and are normally created by copying and pasting. Such duplication allows to be reused; however, these copied fragments can cause severe problems for software maintainers. When must be changed, the existence of clones may result in one instance of a clone being properly fixed, while another instance of that clone remains faulty. In order to find and remedy these types of errors, clones must be efficiently located. Previous methods of clone location include raw text search, syntax-based, token-based, and semantic approaches. Further information about clones has been gathered through information retrieval based categorization techniques. Our long term research goal is to improve clone categorization and detection through combining various information retrieval (IR) based techniques and software metrics to better categorize clones, including the relationship of various software quality characteristics to clones. In this work, we present the results of several preliminary studies (improved IR-based bug localization, improved IR-based clone categorization, clone evolution) that represent various steps along this path. However, one drawback with existing clone detection techniques is that they can be very time consuming. We wish to create a more efficient technique for determining whether a method or class demonstrates certain characteristics that may indicate the presence of clones. The most important contribution of this dissertation is our examination of the use of software metrics for detecting and predicting the existence of clones in software. We also focus on examining the relationship between the combination of software metrics, clones, and bugs.