DocumentCode
2833591
Title
"Cloning Considered Harmful" Considered Harmful
Author
Kapser, Cory ; Godfrey, Michael W.
Author_Institution
Software Archit. Group, Waterloo Univ., Ont.
fYear
2006
fDate
Oct. 2006
Firstpage
19
Lastpage
28
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
Keywords
software maintenance; code cloning; code duplicating; software system; Cloning; Computer science; Costs; Libraries; Reverse engineering; Software architecture; Software systems; Stability; Testing;
fLanguage
English
Publisher
ieee
Conference_Titel
Reverse Engineering, 2006. WCRE '06. 13th Working Conference on
Conference_Location
Benevento
ISSN
1095-1350
Print_ISBN
0-7695-2719-1
Type
conf
DOI
10.1109/WCRE.2006.1
Filename
4023973
Link To Document