Changes to Code Clones in Evolving Software.
Jens Krinke · Softwaretechnik-Trends · 2007
Although cut-copy-paste (-and-adapt) techniques are considered bad practice, every programmer is using them. Because such practices not only involve duplication but also modification, they are called code cloning and the duplicated code is called code clone. A clone group consists of the code clones that are clones of each other. Code cloning is easy and cheap during software development, but it makes software maintenance more complicated, because errors may have been duplicated together with the cloned code and modifications of the original code often must also be applied to the cloned code. There has been little empirical work that checks whether the above mentioned problems are relevant in practice. Kim et al. [2] investigated the evolution of code clones and provided a classification for evolving code clones. Their work already showed that during the evolution of the code clones, common changes to the code clones of a group are fewer than anticipated. Geiger et al. [1] studied the relation of code clone groups and change couplings (files which are committed at the same time, by the same author, and with the same modification description), but could not find a (strong) relation. Therefore, this work will present a study that (in)validates the following hypothesis: