Repository logo
 

Analyzing Software Bugs in Code Clones

Date

2021-02-02

Journal Title

Journal ISSN

Volume Title

Publisher

ORCID

Type

Thesis

Degree Level

Doctoral

Abstract

An extensive area of research in Software Engineering for the last two decades has been finding duplicate source code in the code base. The act of duplicating source code or copy-pasting source code in software systems is known as code cloning. Reusing source code or code cloning is a very common practice in software development. Code cloning can save time and cost. On the other hand, if a code fragment contains a bug then duplicating that source code will also duplicate the bug. Thus, in the literature there is a common belief that code cloning is responsible for spreading bugs in software systems. The primary goal of our study is to validate this common belief. To achieve this goal, we performed four major studies and analyzed the characteristics of bug-proneness of code clones. First, we aimed to understand bug-proneness between clone and non-clone code. Afterwards, we explored bug-proneness of micro-clones which are smaller in size (from 1 line of code to 4 lines of code) in our second study. Later, we focused on bug-replication of regular code clones and micro-clones in our third and fourth studies. Our result supports the intuition from the literature and we found that code clones are more bug-prone than non-clone code. Moreover, we found that it is important to emphasize bug-prone code clones so that it will help us in clone management and better maintenance of software systems. We also proposed a possible solution to identify and manage these bug-prone code clones and showed some future paths of this research.

Description

Keywords

Clone code, Software bugs

Citation

Degree

Doctor of Philosophy (Ph.D.)

Department

Computer Science

Program

Computer Science

Part Of

item.page.relation.ispartofseries

DOI

item.page.identifier.pmid

item.page.identifier.pmcid