• DocumentCode
    2549435
  • Title

    Cloning by accident: an empirical study of source code cloning across software systems

  • Author

    Al-Ekram, Raihan ; Kapser, Cory ; Holt, Richard ; Godfrey, Michael

  • Author_Institution
    Software Archit. Group, Waterloo Univ., Ont., Canada
  • fYear
    2005
  • fDate
    17-18 Nov. 2005
  • Abstract
    One of the key goals of open source development is the sharing of knowledge, experience, and solutions that pertain to a software system and its problem domain. Source code cloning is one way in which expertise can be reused across systems; cloning is known to have been used in several open source projects, such as the SCSI drivers of the Linux kernel. In this paper, we discuss two case studies in which we performed clone detection on several open source systems within the same domain. In the first case study we examined nine text editors written in C, and in the second study we examined eight X-Windows window managers written in C and C++. To our surprise, we found little evidence of "true" cloning activity, but we did notice a significant number of "accidental" clones - that is, code fragments that are similar due to the precise protocols they must use when interacting with a given API or set of libraries. We further discuss the nature of "true" versus "accidental" clones, as well as the details of our case studies.
  • Keywords
    public domain software; software reusability; text editing; user interfaces; X-Windows window manager; accidental clones; open source development; software system; source code cloning; text editors; Accidents; Cascading style sheets; Cloning; Computer science; Knowledge transfer; Linux; Open source software; Software architecture; Software measurement; Software systems;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Empirical Software Engineering, 2005. 2005 International Symposium on
  • Print_ISBN
    0-7803-9507-7
  • Type

    conf

  • DOI
    10.1109/ISESE.2005.1541846
  • Filename
    1541846