Cloned code: stable code. Issue 10 (27th March 2012) - Harder, Jan; Göde, Nils
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. Abstract : 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.