Code Similarity Detection by Program Dependence Graph
- DOI
- 10.2991/ceis-16.2016.50How to use a DOI?
- Keywords
- program dependence graph; software metrics; code similarity detection; isomorphism testing
- Abstract
Existing tools are rarely able to check semantic similarity code. Although some tools consider the programs' semantics, but their detection efficiency is not high. At the same time, function splitting problem confused graph-based tools. In this paper, We propose a approach which combines the software static analysis with the program dependence graph to detect similar code and solve function splitting problem. First, in order to reduce the computational complexity of the program dependence graph's building and comparison, we used software static analysis method to extract testing functions fair. Then, we create the program dependence graph for testing functions fair. Finally, graph matching is performed on isomorphism testing to output similar function and the set of functions which may be split or merged. Experiment results show that our approach can detect all kinds of variations in the code, and adding software static analysis can improve the the detection efficiency based on program dependence graph approach.
- Copyright
- © 2017, the Authors. Published by Atlantis Press.
- Open Access
- This is an open access article distributed under the CC BY-NC license (http://creativecommons.org/licenses/by-nc/4.0/).
Cite this article
TY - CONF AU - Zhen Zhang AU - Hai-Hua Yan AU - Xiao-Wei Zhang PY - 2016/11 DA - 2016/11 TI - Code Similarity Detection by Program Dependence Graph BT - Proceedings of the 2016 International Conference on Computer Engineering and Information Systems PB - Atlantis Press SP - 255 EP - 261 SN - 2352-538X UR - https://doi.org/10.2991/ceis-16.2016.50 DO - 10.2991/ceis-16.2016.50 ID - Zhang2016/11 ER -