The control flow graph is widely used data structure to understand the characteristics of software. The comparisons of control flow graphs is effectively applied in areas of software development and analysis, such as code optimization, common module or software plagiarism detection and malware detection. In this paper, we present an effective method for identifying the similarity of control flow graphs of software. We find a match of similar basic blocks between control flow graphs concerning the syntactic information in basic blocks and their control flow edges. From the match result, we identify the similarity between two control flow graphs. We evaluate the proposed method with Java programs that have different execution structures. In the experimental results, we can confirm that the proposed matching and identifying method can be effectively applied in analyzing the similarity of the structures of control flow graphs of software.
展开▼