Title :
Clone Detection via Structural Abstraction
Author :
Evans, William S. ; Fraser, Christopher W. ; Ma, Fei
Author_Institution :
Dept. of Comput. Sci., British Columbia Univ., Vancouver, BC
Abstract :
This paper describes the design, implementation, and application of a new algorithm to detect cloned code. It operates on the abstract syntax trees formed by many compilers as an intermediate representation. It extends prior work by identifying clones even when arbitrary subtrees have been changed. On a 440,000-line code corpus, 20-50% of the clones it detected were missed by previous methods. The method also identifies cloning in declarations, so it is somewhat more general than conventional procedural abstraction.
Keywords :
Java; abstract data types; program compilers; program diagnostics; tree data structures; Java; abstract syntax trees; cloned code detection algorithm; program compilers; structural abstraction; Algorithm design and analysis; Assembly; Cloning; Computer science; Detectors; Functional programming; Object detection; Pattern matching; Programming profession; Tree graphs;
Conference_Titel :
Reverse Engineering, 2007. WCRE 2007. 14th Working Conference on
Conference_Location :
Vancouver, BC
Print_ISBN :
978-0-7695-3034-5
DOI :
10.1109/WCRE.2007.15