Comparative stability of cloned and non-cloned code: an empirical study

dc.contributor.authorMondal, Manishankar
dc.contributor.authorRoy, Chanchal K.
dc.contributor.authorRahman, Md. Saidur
dc.contributor.authorSaha, Ripon K.
dc.contributor.authorKrinke, Jens
dc.contributor.authorSchneider, Kevin A.
dc.date.accessioned2015-07-28T19:53:57Z
dc.date.available2015-07-28T19:53:57Z
dc.date.issued2012
dc.description.abstractCode cloning is a controversial software engineering practice due to contradictory claims regarding its effect on software maintenance. Code stability is a recently introduced measurement technique that has been used to determine the impact of code cloning by quantifying the changeability of a code region. Although most of the existing stability analysis studies agree that cloned code is more stable than non-cloned code, the studies have two major flaws: (i) each study only considered a single stability measurement (e.g., lines of code changed, frequency of change, age of change); and, (ii) only a small number of subject systems were analyzed and these were of limited variety. In this paper, we present a comprehensive empirical study on code stability using three different stability measuring methods. We use a recently introduced hybrid clone detection tool, NiCAD, to detect the clones and analyze their stability in four dimensions: by clone type, by measuring method, by programming language, and by system size and age. Our four-dimensional investigation on 12 diverse subject systems written in three programming languages considering three clone types reveals that: (i) Type-1 and Type-2 clones are unstable, but Type-3 clones are not; (ii) clones in Java and C systems are not as stable as clones in C# systems; (iii) a system's development strategy might play a key role in defining its comparative code stability scenario; and, (iv) cloned and non-cloned regions of a subject system do not follow a consistent change pattern.en_US
dc.description.refereedYesen_US
dc.identifier.doi10.1145/2245276.2231969
dc.identifier.urihttp://hdl.handle.net/1880/50657
dc.identifier.urihttps://doi.org/10.11575/PRISM/46286
dc.publisherACMen_US
dc.publisher.urlhttp://dx.doi.org/10.1145/2245276.2231969en_US
dc.titleComparative stability of cloned and non-cloned code: an empirical studyen_US
dc.typeunknown
Files
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.84 KB
Format:
Item-specific license agreed upon to submission
Description:
Collections