• 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