Browse > Article
http://dx.doi.org/10.3745/KTCCS.2013.2.8.317

An Effective Method for Comparing Control Flow Graphs through Edge Extension  

Lim, Hyun-Il (경남대학교 컴퓨터공학과)
Publication Information
KIPS Transactions on Computer and Communication Systems / v.2, no.8, 2013 , pp. 317-326 More about this Journal
Abstract
In this paper, we present an effective method for comparing control flow graphs which represent static structures of binary programs. To compare control flow graphs, we measure similarities by comparing instructions and syntactic information contained in basic blocks. In addition, we also consider similarities of edges, which represent control flows between basic blocks, by edge extension. Based on the comparison results of basic blocks and edges, we match most similar basic blocks in two control flow graphs, and then calculate the similarity between control flow graphs. We evaluate the proposed edge extension method in real world Java programs with respect to structural similarities of their control flow graphs. To compare the performance of the proposed method, we also performed experiments with a previous structural comparison for control flow graphs. From the experimental results, the proposed method is evaluated to have enough distinction ability between control flow graphs which have different structural characteristics. Although the method takes more time than previous method, it is evaluated to be more resilient than previous method in comparing control flow graphs which have similar structural characteristics. Control flow graph can be effectively used in program analysis and understanding, and the proposed method is expected to be applied to various areas, such as code optimization, detection of similar code, and detection of code plagiarism.
Keywords
Control Flow Graph; Graph Structure Comparison; Program Analysis;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Thomas Dullien and Rolf Rolles, Graph-based comparison of executable objects, University of Technology in Florida, 2005.
2 Smokescreen Java Obfuscator, http://www.leesw.com/smokescreen/
3 Zelix KlassMaster, http://www.zelix.com/klassmaster/
4 John W. Raymond1 and Peter Willett, Maximum common subgraph isomorphism algorithms for the matching of chemical structures, Journal of Computer-Aided Molecular Design, 16: pp.521-533, 2002.   DOI   ScienceOn
5 Halvar Flake, Structural Comparison of Executable Objects, In Proceedings of the IEEE Conference on Detection of Intrusions and Malware & Vulnerability Assessment (DIMVA), pp.161-173, 2004
6 Python Programming Language, http://www.python.org/
7 Guillaume Bonfante, Matthieu Kaczmarek, and Jean-Yves Marion, Control Flow to Detect Malware, Inter-Regional Workshop on Rigorous System Development and Analysis 2007.
8 Renhard Wilhelm and Dieter Maurer, Compiler Design, Addison-Wesley, 1995.
9 Ruben Smelik, Arend Rensink, and Harmen Kastenberg, Specification and Construction of Control Flow Semantics, In Proceedings of IEEE Symposium on Visual Languages and Human-Centric Computing, pp.65-72, Sept., 2006.
10 Danilo Bruschi, Lorenzo Martignoni, and Mattia Monga, Detecting Self-Mutating Malware Using Control-Flow Graph Matching, In Proceedings of Detection of Intrusions and Malware & Vulnerability Assessment (DIMVA 2006), LNCS 4064, pp.129-143, 2006.
11 Guillaume Bonfante, Matthieu Kaczmarek, and Jean-Yves Marion, Control Flow Graphs as Malware Signatures, International Workshop on the Theory of Computer Viruses, 2007.
12 Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, 1974.
13 Faisal N. Abu-Khzam, Nagiza F. Samatova, Mohamad A. Rizk, and Michael A. Langston, The Maximum Common Subgraph Problem: Faster Solutions via Vertex Cover, In IEEE/ACS International Conference on Computer Systems and Applications (AICCSA 2007), pp.367-373, May, 2007.
14 Zhiping Zeng, Anthony K. H. Tung, Jianyong Wang, Jianhua Feng, and Lizhu Zhou, Comparing Stars: On Approximating Graph Edit Distance, International Conference on Very Large Data Bases (VLDB 2009), 2009.
15 Laura Zager, Graph similarity and matching, MS Thesis, Dept of EECS, MIT, 2005.