Clone Detection via Structural Abstraction

William Evans, Christopher W. Fraser, Fei Ma · Proceedings - Working Conference on Reverse Engineering · 2007

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.

Read the paper · More papers on PaperTik