DocumentCode
2346629
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
fYear
2007
fDate
28-31 Oct. 2007
Firstpage
150
Lastpage
159
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Reverse Engineering, 2007. WCRE 2007. 14th Working Conference on
Conference_Location
Vancouver, BC
ISSN
1095-1350
Print_ISBN
978-0-7695-3034-5
Type
conf
DOI
10.1109/WCRE.2007.15
Filename
4400161
Link To Document