An Improved Code Clone Tracking Approach in Evolving Software

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;


Full Text:

PDF


DOI: https://doi.org/10.26483/ijarcs.v7i7.2813

Refbacks

  • There are currently no refbacks.




Copyright (c) 2016 International Journal of Advanced Research in Computer Science