Date of Award

2013

Document Type

Dissertation

Degree Name

Doctor of Philosophy (PhD)

Department

Computer Science

Committee Chair

Letha Etzkorn

Committee Member

Nicholas A. Kraft

Committee Member

Harry S. Delugach

Committee Member

Dan M. Rochowiak

Committee Member

Sampson Gholston

Subject(s)

Dirichet problem, Boundary value problems, Debugging in computer science, Object-oriented programming (Computer science)

Abstract

Duplicate or similar fragments of code are referred to as "code clones" and are normally created by copying and pasting. Such duplication allows code to be reused; however, these copied code fragments can cause severe problems for software maintainers. When code 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.

Share

COinS
 
 

To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.