Cloned code: stable code

SUMMARY Code clones are said to threaten the maintainability of a system—especially when the system evolves and source code is changed. Whether clones increase maintenance effort can be analyzed by comparing the stability of cloned code with the stability of non‐cloned code. A previous study found t...

Full description

Saved in:
Bibliographic Details
Published inJournal of software : evolution and process Vol. 25; no. 10; pp. 1063 - 1088
Main Authors Harder, Jan, Göde, Nils
Format Journal Article
LanguageEnglish
Published Chichester Blackwell Publishing Ltd 01.10.2013
Wiley Subscription Services, Inc
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:SUMMARY Code clones are said to threaten the maintainability of a system—especially when the system evolves and source code is changed. Whether clones increase maintenance effort can be analyzed by comparing the stability of cloned code with the stability of non‐cloned code. A previous study found that cloned code is even more stable than non‐cloned code and, thus, may require less maintenance effort—contrary to the frequently voiced assumption. In this paper, we partially replicate this study using a more fine‐grained measurement. We furthermore extend the study to subject systems from academia and industry and evaluate the effect of different clone detection parameters on clone stability and how the stability changes over time. In general, we were able to confirm the findings of the previous study. Nevertheless, our results also show that clone stability varies depending on the clones' characteristics, the corresponding project environment, and over time. Copyright © 2012 John Wiley & Sons, Ltd. Redundancies in source code—clones—are believed to complicate software maintenance. This exploratory case study analyzes the stability of source code clones—that is, how often and how much code clones change. In general, redundancies in open‐source, industrial, and academic software systems were found to change less than the non‐cloned code. This contradicts the frequently voiced assumption that clones increase maintenance costs because they change more often than other code.
Bibliography:istex:41DFA8EF343A5A8B488B0027F5D695EB22E36A2F
Deutsche Forschungsgemeinschaft (DFG) - No. KO 2342/2-1
ArticleID:SMR1551
ark:/67375/WNG-63NSBNK8-P
ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:2047-7473
2047-7481
DOI:10.1002/smr.1551