• Cite Icon10
  • https://doi.org/10.1109/cee-secr.2010.5783148Copy DOI Icon

Clone detection: Why, what and how?

  • Oct 1, 2010
  • Marat Akhin +1 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Excessive code duplication is a bane of modern software development. Several experimental studies show that on average 15 percent of a software system can contain source code clones - repeatedly reused fragments of similar code. While code duplication may increase the speed of initial software development, it undoubtedly leads to problems during software maintenance and support. That is why many developers agree that software clones should be detected and dealt with at every stage of software development life cycle. This paper is a brief survey of current state-of-the-art in clone detection. First, we highlight main sources of code cloning such as copy-and-paste programming, mental code patterns and performance optimizations. We discuss reasons behind the use of these techniques from the developer's point of view and possible alternatives to them. Second, we outline major negative effects that clones have on software development. The most serious drawback duplicated code have on software maintenance is increasing the cost of modifications - any modification that changes cloned code must be propagated to every clone instance in the program. Software clones may also create new software bugs when a programmer makes some mistakes during code copying and modification. Increase of source code size due to duplication leads to additional difficulty of code comprehension. Third, we review existing clone detection techniques. Classification based on used source code representation model is given in this work. We also describe and analyze some concrete examples of clone detection techniques highlighting main distinctive features and problems that are present in practical clone detection. Finally, we point out some open problems in the area of clone detection. Currently questions like "What is a code clone?", "Can we predict the impact clones have on software quality" and "How can we increase both clone detection precision and recall at the same time? " stay open to further research. We list the most important questions in modern clone detection and explain why they continue to remain unanswered despite all the progress in clone detection research.

Similar Papers
  • Research Article
  • Citations19

Software Clone Management Towards Industrial Application (Dagstuhl Seminar 12071)

  • Jan 01, 2012
  • DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
  • Rainer Koschke +3
  • Book Chapter
  • Citations4

On the Effectiveness of Vector-Based Approach for Supporting Simultaneous Editing of Software Clones

  • Jan 01, 2016
  • Seiya Numata +3
  • Research Article
  • Citations76

Increasing clone maintenance support by unifying clone detection and refactoring activities

  • Jul 05, 2012
  • Information and Software Technology
  • Robert Tairas +1
  • Conference Article
  • Citations351

VUDDY: A Scalable Approach for Vulnerable Code Clone Discovery

  • May 01, 2017
  • Seulbae Kim +3
  • Conference Article
  • Citations12

Near-miss clone patterns in web applications: An empirical study with industrial systems

  • May 01, 2013
  • Tariq Muhammad +3
  • Conference Article
  • Citations309

Supervised Deep Features for Software Functional Clone Detection by Exploiting Lexical and Syntactical Information in Source Code

  • Aug 01, 2017
  • Huihui Wei +1
  • Conference Article
  • Citations1

Research on the Tools of Clone Code Refactoring

  • Jan 12, 2019
  • Zhao Fengrong +2
  • Research Article

An Empirical Study on the Characteristics of Reusable Code Clones

  • Jan 23, 2026
  • ACM Transactions on Software Engineering and Methodology
  • Chunli Yu +3
  • Research Article

The Concept of Model-View-Controler (MVC) as Solution Software Development

  • May 03, 2010
  • CCIT Journal
  • Ermatita Ermatita +2
  • Conference Article
  • Citations12

Rule-directed code clone synchronization

  • May 01, 2016
  • Xiao Cheng +4
  • Conference Article
  • Citations1

A hybrid approach for detection of Type-1 software clones

  • Sep 01, 2017
  • Pratiksha Gautam +1
  • Conference Article
  • Citations59

LICCA: A tool for cross-language clone detection

  • Mar 01, 2018
  • Tijana Vislavski +3
  • Conference Article
  • Citations6

Similarity Analysis of Control Software Using Graph Mining

  • Jul 01, 2019
  • Mina Fahimipirehgalin +3
  • Conference Article
  • Citations3

Fault density analysis of object-oriented classes in presence of code clones

  • Apr 27, 2015
  • Mahmoud O Elish +1
  • Conference Article
  • Citations3

Supporting clone analysis with tag cloud visualization

  • Nov 16, 2014
  • Manamu Sano +4
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.