An Improved Code Clone Tracking Approach in Evolving Software
Main Article Content
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
Article Details
COPYRIGHT
Submission of a manuscript implies: that the work described has not been published before, that it is not under consideration for publication elsewhere; that if and when the manuscript is accepted for publication, the authors agree to automatic transfer of the copyright to the publisher.
Authors who publish with this journal agree to the following terms:
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgment of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgment of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work
- The journal allows the author(s) to retain publishing rights without restrictions.
- The journal allows the author(s) to hold the copyright without restrictions.