Browse > Article
http://dx.doi.org/10.5392/JKCA.2013.13.11.037

A Method for Detecting Program Plagiarism Comparing Class Structure Graphs  

Kim, Yeoneo (부산대학교 전자전기컴퓨터공학과)
Lee, Yun-Jung (부산대학교 IT기반 융합산업창의인력양성 사업단)
Woo, Gyun (부산대학교 전자전기컴퓨터공학과, LG전자 스마트제어센터)
Publication Information
Abstract
Recently, lots of research results on program comparison have been reported since the code theft become frequent as the increase of code mobility. This paper proposes a plagiarism detection method using class structures. The proposed method constructs a graph representing the referential relationship between the member variables and the methods. This relationship is shown as a bipartite graph and the test for graph isomorphism is applied on the set of graphs to measure the similarity of the programs. In order to measure the effectiveness of this method, an experiment was conducted on the test set, the set of Java source codes submitted as solutions for the programming assignments in Object-Oriented Programming course of Pusan National University in 2012. In order to evaluate the accuracy of the proposed method, the F-measure is compared to those of JPlag and Stigmata. According to the experimental result, the F-measure of the proposed method is higher than those of JPlag and Stigmata by 0.17 and 0.34, respectively.
Keywords
Program Plagiarism Detection; Static Analysis; Program Analysis; Software Comparison; Class Structure;
Citations & Related Records
Times Cited By KSCI : 2  (Citation Analysis)
연도 인용수 순위
1 차병래, "소프트웨어 소스 코드의 저작권 관리를 위한 디지털 라이센스의 검색", 한국콘텐츠학회논문지, 제7권, 제1호, pp.21-31, 2007.   과학기술학회마을   DOI   ScienceOn
2 H. Tamada, M. Nakamura, A. Monden, and K. Matsumoto, "Java Birthmark - Detecting the Software Theft," IEICE Transactions on Information and Systems, Vol.88, No.9, pp.2148-2158, 2005.
3 나지하, 김종원, 김재석, "신분증 위변조 방지를 위한 이미지 워터마킹", 한국콘텐츠학회논문지, 제11권, 제12호, pp.552-559, 2011.   과학기술학회마을   DOI   ScienceOn
4 G. Myles and C. Collberg, "K-gram Based Software Birthmarks," Proceedings of the 2005 ACM symposium on Applied computing, pp.314-318, 2005.
5 S. Choi, H. Park, H. Lim, and T. Han, "A Static Birthmark of Binary Executables Based on API Call Structure," Proceedings of the 12th Asian computing science conference on Computer and Network Security, pp.2-16, 2007.
6 G. Myles and C. Collberg, "Detecting Software Theft via Whole Program Path Birthmarks," Information Security Conference, pp.404-415, 2004.
7 H. Tamada, K. Okamoto, M. Nakamura, and A. Monden, "Dynamic Software Birthmarks to Detect the Theft of Windows Applications," In Proceeding of International Symposium on Future Software Technology 2004, 2004.
8 H. Tamada, K. Okamoto, M. Nakamura, A. Monden, and K. ichi Matsumoto, Design and Evaluation of Dynamic Software Birthmarks Based on API Calls, Technical Report NAIST-IS-TR2007011, Nara Institute of Science and Technology, 2007.
9 X. Wang, Y. Jhi, S. Zhu, and P. Liu, "Behavior Based Software Theft Detection," Proceedings of the 16th ACM Conference on Computer and Communications Security, pp.280-290, 2009.
10 Y. Kim, J. Moon, D. Kim, Y. Jeong, S. Cho, M. Park, and S. Han, "A Static Birthmark of Windows Binary Executables Based on Strings," 2013 7th International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, pp.734-738, 2013.
11 J. Choi, Y. Han, S. Cho, H. Yoo, J. Woo, M. Park, Y. Song, and L. Chung, "A Static Birthmark for MS Windows Applications Using Import Address Table," 2013 7th International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, pp.129-134, 2013.
12 P. Chan, L. Hui, and S. Yiu, "Dynamic Software Birthmark for Java Based on Heap Memory Analysis," 12th IFIP TC 6 / TC 11 International Conference on Communications and Multimedia Security, pp.94-107, 2011.
13 C. Liu, C. Chen, J. Han, and P. Yu, "GPLAG: Detection of Software Plagiarism by Program Dependence Graph Analysis," Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining, pp.872-881, 2006.
14 C. Roy and J. Cordy, A Survey on Software Clone Detection Research, Technical Report 541, Queen's University at Kingston. 2007.
15 S. Narayanan and S. Simi, "Source Code Plagiarism Detection and Performance Analysis Using Fingerprint Based Distance Measure Method," 2012 7th International Conference on Computer Science & Education, pp.1065-1068, 2012.
16 J. Ji, G. Woo and H. Cho, "A Source Code Linearization Technique for Detecting Plagiarized Programs," ACM SIGCSE Bulletin, Vol.39, No.3, pp.73-77, 2007.   DOI
17 https://code.google.com/p/javaparser/
18 http://www.cs.sunysb.edu/-algorith/implement /vflib/implement.shtml
19 L. Cordella, P. Foggia, C. Sansone, and M. Vento, "A (sub) Graph Isomorphism Algorithm for Matching Large Graphs," IEEE Trans on Pattern Analysis and Machine Intelligence, Vol.26, No.10, pp.1367-1372, 2004.   DOI   ScienceOn
20 L. Prechelt, G. Malpohl, and M. Philippsen, "Finding Plagiarisms Among a Set of Programs with JPlag," J. UCS, Vol.8, No.11, pp.1016-1038, 2002.
21 http://stigmata.sourceforge.jp/