An Empirical Study of the Factors Affecting Co-change Frequency of Cloned Code

The main goal of this work by Iman Keivanloo is to identify buggy clones. For this, the authors have investigated 6 different applications.

Firstly, they investigated whether cloned code was buggy than non-cloned, and this was the case in 5 out of 6 systems.

Then they looked at how co-change of clones changed over the life of the clones. Method name is a good indication of co-change: if method names are similar, clones are very likely to change together.

RQ3 of this paper is looking at code complexity. This too turned out to be a good indicator of co change: less complex code changes together more frequently.

RQ4 Does a developer switch impact co change frequency (as the old developer knows about the clones but the new one might not) For this question, the authors could not find a correlation.

The full paper is here.