DocumentCode
2452766
Title
Dispersion of changes in cloned and non-cloned code
Author
Mondal, Manishankar ; Roy, Chanchal K. ; Schneider, Kevin A.
Author_Institution
Univ. of Saskatchewan, Saskatoon, SK, Canada
fYear
2012
fDate
4-4 June 2012
Firstpage
29
Lastpage
35
Abstract
Currently, the impacts of clones in software maintenance activities are being investigated by different researchers in different ways. Comparative stability analysis of cloned and non-cloned regions of a subject system is a well-known way of measuring the impacts where the hypothesis is that, the more a region is stable the less it is harmful for maintenance. Each of the existing stability measurement methods lacks to address one important characteristic, dispersion, of the changes happening in the cloned and non-cloned regions of software systems. Change dispersion of a particular region quantifies the extent to which the changes are scattered over that region. The intuition is that, more dispersed changes require more efforts to be spent in the maintenance phase. Measurement of Dispersion requires the extraction of method genealogies. In this paper, we have measured the dispersions of changes in cloned and non-cloned regions of several subject systems using a concurrent and robust framework for method genealogy extraction. We implemented the framework on Actor Architecture platform which facilitates coarse grained parallellism with asynchronous message passing capabilities. Our experimental results on 12 open-source subject systems written in three different programming languages (Java, C and C#) using two clone detection tools suggest that, the changes in cloned regions are more dispersed than the changes in non-cloned regions. Also, Type-3 clones exhibit more dispersion as compared to the Type-1 and Type-2 clones. The subject systems written in Java and C show higher dispersions as well as increased maintenance efforts as compared to the subject systems written in C#.
Keywords
humanities; message passing; public domain software; software architecture; software maintenance; software metrics; C programming languages; C# programming languages; Java programming languages; actor architecture platform; asynchronous message passing capabilities; change dispersion; clone detection tools; cloned code; coarse grained parallellism; dispersion measurement; impact measurement; method genealogy extraction; noncloned code; open-source subject systems; software maintenance activities; software systems; stability analysis; stability measurement methods; type-1 clones; type-2 clones; Cloning; Dispersion; Java; Maintenance engineering; Radiation detectors; Software systems; Stability analysis; Actor Architecture; Average Last Change Date; Changeability; Code Stability; Concurrent Framework; Dispersion; Modification Frequency;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Clones (IWSC), 2012 6th International Workshop on
Conference_Location
Zurich
Print_ISBN
978-1-4673-1794-8
Type
conf
DOI
10.1109/IWSC.2012.6227863
Filename
6227863
Link To Document