Clones: What is that smell?

TitleClones: What is that smell?
Publication TypeConference Paper
Year of Publication2010
AuthorsRahman, Foyzur, Bird Christian, and Devanbu Premkumar
Secondary Title2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010)2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010)
Pagination72 - 81
Place PublishedCape Town, South Africa
ISBN Number978-1-4244-6802-7
Keywordsapache, bug fix revisions, bugs, clone, evolution, gimp, nautilus, scm, source code

Clones are generally considered bad programming practice in software engineering folklore. They are identified as a bad smell and a major contributor to project maintenance difficulties. Clones inherently cause code bloat, thus increasing project size and maintenance costs. In this work, we try to validate the conventional wisdom empirically to see whether cloning makes code more defect prone. This paper analyses relationship between cloning and defect proneness. We find that, first, the great majority of bugs are not significantly associated with clones. Second, we find that clones may be less defect prone than non-cloned code. Finally, we find little evidence that clones with more copies are actually more error prone. Our findings do not support the claim that clones are really a "bad smell". Perhaps we can clone, and breathe easy, at the same time.

72rahman2010cws.pdf691.59 KB