Login | Register

Mining and Analysis of Control Structure Variant Clones

Title:

Mining and Analysis of Control Structure Variant Clones

Guo, Qiao (2015) Mining and Analysis of Control Structure Variant Clones. Masters thesis, Concordia University.

[thumbnail of Qiao_MCompSc_S2015.pdf]
Preview
Text (application/pdf)
Qiao_MCompSc_S2015.pdf - Accepted Version
429kB

Abstract

Code duplication (software clones) is a very common phenomenon in existing software systems, and is also considered to be an indication of poor software maintainability. In recent years, the detection of clones has drawn considerable attention. The majority of existing clone detection techniques focus on the syntactic similarity of code fragments, and more specifically, they support the detection of Type-1 clones (i.e., identical code fragments except for variations in whitespace, layout, and comments), Type-2 clones (i.e., structurally/syntactically identical fragments except for variations in identifiers, literals, types, layout, and comments), and Type-3 clones (i.e., copied fragments with statements changed, added, or removed in addition to variations in identifiers, literals, types, layout and comments).

However, recent studies have shown that when developers implement the same functionalities, their code solutions may differ substantially in terms of their syntactical structure.
This is because developers follow different programming styles or language features when implementing, for instance, control structures, such as loops and conditionals. From the perspective of clone management, different strategies are required to detect and refactor these control structure variant clones. Thus, there is a clear need for functionality-aware clone mining approaches, which are capable of distinguishing functional clones from syntactical clones.

In this thesis, we are proposing a method for mining control structure variant clones. More specifically, the proposed approach can mine clones which use different, but functionally equivalent control structures to implement functionally similar iterations and conditionals.
Our method is evaluated on six open-source systems by manually inspecting the mined clones and computing the precision and recall of our technique. Moreover, we create a publicly available benchmark of control structure variant clones. Based on the clones we found, we also propose some improvements to tackle the limitations of JDeodorant in the refactoring of control structure variant clones.

Divisions:Concordia University > Gina Cody School of Engineering and Computer Science > Computer Science and Software Engineering
Item Type:Thesis (Masters)
Authors:Guo, Qiao
Institution:Concordia University
Degree Name:M. Comp. Sc.
Program:Computer Science
Date:17 April 2015
Thesis Supervisor(s):Tsantalis, Nikolaos
Keywords:Software Clone, Control structure, Semantic, Code unification
ID Code:979930
Deposited By: GUO QIAO
Deposited On:13 Jul 2015 14:26
Last Modified:18 Jul 2019 15:18
Related URLs:
All items in Spectrum are protected by copyright, with all rights reserved. The use of items is governed by Spectrum's terms of access.

Repository Staff Only: item control page

Downloads per month over past year

Research related to the current document (at the CORE website)
- Research related to the current document (at the CORE website)
Back to top Back to top