Abstract-Source code analysis to detect code cloning, code plagiarism, and code reuse suffers from the problem of pervasive code modifications, i.e. transformations that may have a global effect. We compare 30 similarity detection techniques and tools against pervasive code modifications. We evaluate the tools using two experimental scenarios for Java source code. These are (1) pervasive modifications created with tools for source code and bytecode obfuscation and (2) source code normalisation through compilation and decompilation using different decompilers. Our experimental results show that highly specialised source code similarity detection techniques and tools can perform better than more general, textual similarity measures. Our study strongly validates the use of compilation/decompilation as a normalisation technique. Its use reduced false classifications to zero for six of the tools. This broad, thorough study is the largest in existence and potentially an invaluable guide for future users of similarity detection in source code.
Ragkhitwetsagul et al. REF shows that compilation/decompilation can also be considered as a kind of code normalisation.
Similarity of Source Code in the Presence of Pervasive Modifications
2016 IEEE 16th International Working Conference on Source Code Analysis and Manipulation (SCAM)
2016 IEEE 16th International Working Conference on Source Code Analysis and Manipulation (SCAM)
Computer Science