"Cloning Considered Harmful" Considered Harmful

Authors: Cory Kapser Michael W. Godfrey

Venue: SANER   2006 13th Working Conference on Reverse Engineering, pp. 19-28, 2006

Year: 2006

Abstract: Current literature on the topic of duplicated (cloned) code in software systems often considers duplication harmful to the system quality and the reasons commonly cited for duplicating code often have a negative connotation. While these positions are sometimes correct, during our case studies we have found that this is not universally true, and we have found several situations where code duplication seems to be a reasonable or even beneficial design option. For example, a method of introducing experimental changes to core subsystems is to duplicate the subsystem and introduce changes there in a kind of sandbox testbed. As features mature and become stable within the experimental subsystem, they can then be introduced gradually into the stable code base. In this way risk of introducing instabilities in the stable version is minimized. This paper describes several patterns of cloning that we have encountered in our case studies and discusses the advantages and disadvantages associated with using them

BibTeX:

@inproceedings{corykapser2006"chch,
    author = "Cory Kapser and Michael W. Godfrey",
    title = {"Cloning Considered Harmful" Considered Harmful},
    year = "2006",
    pages = "19-28",
    booktitle = "Proceedings of 2006 13th Working Conference on Reverse Engineering"
}

Plain Text:

Cory Kapser and Michael W. Godfrey, ""Cloning Considered Harmful" Considered Harmful," 2006 13th Working Conference on Reverse Engineering, pp. 19-28