Code Cloning: The Analysis, Detection and Removal

The coping, modifying a block of code is identified as cloning and is the most basic means of software reuse. It has been extensively used within the software development community. An official survey which is carried out within large, long term software development project suggested that 25-30% of modules in system may be cloned. This paper begins with background concept of code cloning, presents overcall taxonomy of current techniques and tools, and classify evolution tools in two different format as static code clone and dynamic code cloning, this together presented with program analysis, secondly as a solution the static code is divided into four parts as T1, T2, T3, T4, to finally develop a process to detect and remove code cloning.

[1]  G. Clark,et al.  Reference , 2008 .

[2]  Susan Horwitz,et al.  Using Slicing to Identify Duplication in Source Code , 2001, SAS.

[3]  Marjorie V. Batey,et al.  AUTHORS. IN PROFILE , 1969 .

[4]  Brenda S. Baker,et al.  A Program for Identifying Duplicated Code , 1992 .

[5]  Neil Davey,et al.  The development of a software clone detector , 1995 .

[6]  Panagiotis Louridas,et al.  Static code analysis , 2006, IEEE Software.

[7]  Jürgen Wolff von Gudenberg,et al.  Clone detection in source code by frequent itemset techniques , 2004, Source Code Analysis and Manipulation, Fourth IEEE International Workshop on.

[8]  J. Howard Johnson,et al.  Identifying redundancy in source code using fingerprints , 1993, CASCON.

[9]  Chanchal Kumar Roy,et al.  Comparison and evaluation of code clone detection techniques and tools: A qualitative approach , 2009, Sci. Comput. Program..

[10]  Shinji Kusumoto,et al.  CCFinder: A Multilinguistic Token-Based Code Clone Detection System for Large Scale Source Code , 2002, IEEE Trans. Software Eng..

[11]  Ettore Merlo,et al.  Experiment on the automatic detection of function clones in a software system using metrics , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[12]  Alexandru G. Bardas,et al.  Static Code Analysis , 2011, Encyclopedia of Cryptography and Security.

[13]  Renato De Mori,et al.  Pattern matching for clone and concept detection , 2004, Automated Software Engineering.

[14]  Brenda S. Baker,et al.  On finding duplication and near-duplication in large software systems , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[15]  Chanchal K. Roy,et al.  A Survey on Software Clone Detection Research , 2007 .

[16]  Rainer Koschke,et al.  Clone Detection Using Abstract Syntax Suffix Trees , 2006, 2006 13th Working Conference on Reverse Engineering.

[17]  Jens Krinke,et al.  Identifying similar code with program dependence graphs , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

[18]  Thomas LaToza,et al.  A Literature Review of Clone Detection Analysis , 2005 .

[19]  Chanchal Kumar Roy,et al.  NICAD: Accurate Detection of Near-Miss Intentional Clones Using Flexible Pretty-Printing and Code Normalization , 2008, 2008 16th IEEE International Conference on Program Comprehension.