An Improved Code Clone Tracking Approach in Evolving Software

Main Article Content

Nadia Nahar
Sujon Ali, Md. Nurul Ahad Tawhid

Abstract

Copying code fragments and then reusing those by pasting with or without modifications or adaptations are common activities in
software development. This type of reuse approach of existing code is called code cloning and the pasted code fragment is called a clone of the
original. Several studies show that about 5% to 20% of software systems can contain duplicated code, causing modification of all the fragments
if a bug is detected in one code fragment. Although being a prime issue in software maintenance, refactoring of certain clones are not desirable
and there is a risk of removing those. However, it is also widely agreed that clones should at least be detected and monitored across successive
versions. Clone Region Descriptor (CRD) is an existing way for monitoring clones in evolving software systems. However, it has robustness
issues for changes in code nesting level and block matcher parts called as anchors. This research works with overcoming these limitations by
improving the CRDs through making those more abstract and adding more metrics for resolving block matching conflicts. The justification of
the new approach is done by showing two case studies on the two proposed improvements.


Keywords: code clone; clone region descriptor; clone tracker; clone monitoring;

Downloads

Download data is not yet available.

Article Details

Section
Articles