• DocumentCode
    3694199
  • Title

    A comparative study on the bug-proneness of different types of code clones

  • Author

    Manishankar Mondal;Chanchal K. Roy;Kevin A. Schneider

  • Author_Institution
    Department of Computer Science, University of Saskatchewan, Canada
  • fYear
    2015
  • Firstpage
    91
  • Lastpage
    100
  • Abstract
    Code clones are defined to be the exactly or nearly similar code fragments in a software system´s code-base. The existing clone related studies reveal that code clones are likely to introduce bugs and inconsistencies in the code-base. However, although there are different types of clones, it is still unknown which types of clones have a higher likeliness of introducing bugs to the software systems and so, should be considered more important for managing with techniques such as refactoring or tracking. With this focus, we performed a study that compared the bug-proneness of the major clone-types: Type 1, Type 2, and Type 3. According to our experimental results on thousands of revisions of seven diverse subject systems, Type 3 clones exhibit the highest bug-proneness among the three clone-types. The bug-proneness of Type 1 clones is the lowest. Also, Type 3 clones have the highest likeliness of being co-changed consistently while experiencing bug-fixing changes. Moreover, the Type 3 clones that experience bug-fixes have a higher possibility of evolving following a Similarity Preserving Change Pattern (SPCP) compared to the bug-fix clones of the other two clone-types. From the experimental results it is clear that Type 3 clones should be given a higher priority than the other two clone-types when making clone management decisions. We believe that our study provides useful implications for ranking clones for refactoring and tracking.
  • Keywords
    "Cloning","Computer bugs","Java","Software systems","Maintenance engineering","Terminology"
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Evolution (ICSME), 2015 IEEE International Conference on
  • Type

    conf

  • DOI
    10.1109/ICSM.2015.7332455
  • Filename
    7332455