DOI QR코드

DOI QR Code

구문트리에서 키워드 추출을 이용한 프로그램 유사도 평가

A Program Similarity Evaluation using Keyword Extraction on Abstract Syntax Tree

  • 김영철 (숭실대학교 정보미디어기술연구소) ;
  • 최재영 (숭실대학교 컴퓨터학부)
  • 발행 : 2005.04.01

초록

본 논문에서는 프로그램의 분석 과정에서 생성된 구문트리에서 키워드만을 추출하여 유사도 평가하는 방법을 소개한다. 이 방법은 기존의 구조 기반 방법과 같이 프로그램 구조적 특징에 상관없이 유사도를 평가한 수 있으며, 구문트리의 키워드만을 평가에 이용함으로써 기존 시스템의 단점이었던 속도를 개선할 수 있었다. 따라서 본 논문에서는 유사도 평가 모델을 제시하고, 생성된 구문트리에서 키워드를 추출하는 방법을 제시하였다. 본 논문의 평가 부분에서는 기존 시스템에 비해 본 시스템이 구조적 특징이나 속도 면에서 많이 개선되었다는 것을 보여주었다. 따라서 본 시스템은 향후에 텍스트 위주의 문서의 유사도나 XML과 같은 전자 문서의 유사도 평가에 지대한 영향을 줄 것으로 기대된다.

In this paper, we introduce the method that a user analyses the similarity of the two programs by using keyword from the syntactic tree, created after the syntax analysis, and its implementation. The main advantage of the method is the performance improvement through using only keyword of syntax tree. In the paper, we propose the similarity evaluation model and how we extract keyword from syntax tree. In addition, we also show the improvement in the performance in analysis and in the system's structure. We expect that our system will be utilized in the similarity evaluation in text and XML documents.

키워드

참고문헌

  1. J. K. Harris, 'Plagiarism in Computer Science Courses', In proc. Ethics in Computer Age, pp. 133-135, 1994 https://doi.org/10.1145/199544.199601
  2. M. Joy & M. Luck, 'Plagiarism in Programming Assignments', IEEE Transaction in Education, 42(2), pp. 129-133. 1999 https://doi.org/10.1109/13.762946
  3. J. R. Edlun, 'What is 'Plagiarism' and why do people do it?', available at http://www.calstatela.edu/centers/write_cn/plagiarism.htm, University Writing Centre Director, California State University, LA, 1998
  4. J. O. Hamblen & Parker, 'Computer Algorithm for Plagiarism Detection', IEEE Transactions on Education 32(2), pp. 94-99, May., 1989 https://doi.org/10.1109/13.28038
  5. 김영철, 유재우, '유사도 평가를 위한 트리 비교 알고리즘', 한국정보처리학회 논문지, 11-A(2), Mar. 2004
  6. J. H. Jonson, 'Identifying Rddundancy in Source Code using Fingerprints', In proc. of CASCON 93, pp. 171-183, 1993
  7. M. Howard & Halstead, Elements of Software Science, Elsevier, 1977
  8. K. J. Ottenstein, 'an Algorithmic Approach to the Detection and Prevention of Plagiarism'. ACM SIGSCE Bulletin, 8(4), pp. 30-41, 1976 https://doi.org/10.1145/382222.382462
  9. J. L. Donaldson & A. M. Lancaster 'A Plagiarism Detection System', ASM SIGSCE Bulletin(proc. of 12th SIGSCE Technical Symp.), 13(1), pp. 21-25, Feb., 1981
  10. H. L. Berghel & D. L. Sallach, 'Measurements of Program Similarity in Identical Task Environments'. ACM SIGPLAN Notices, 19(8), pp. 65-76, Aug., 1984 https://doi.org/10.1145/988241.988245
  11. 황미녕, 강은미, 조환규. '유전체 서열의 정렬 기법을 이용한 소스 코드 표절 심사', 제21회 정보과학논문경진대회 입상작, 2002
  12. M. J. Wise, 'Detection of Similarities in Student Programs: YAP'ing may be Preferable to Plague'ing'. ACM SIGSCE Bulletin(proc. of 23rd SIGCSE Technical Symp.), 24(1), pp. 268-271, Mar., 1992 https://doi.org/10.1145/134510.134564
  13. A. Aiken, 'MOSS(Measure Of Software Similarity) Plagiarism detection system', available at http://www.cs.berkeley.edu/~moss/, University of Berkeley, CA, Apr., 2000
  14. L. Prechelt, G. Malpohl & M. Philppsen, 'JPlag: Finding Plagiarism Among a Set of Programs', available at http://wwwipd.ira.uka.de/EIR/ D-76128 Karlsruhe, Germany, Technical Report 2000-1, Mar., 2000
  15. D. Gitchell & N. Tran, 'Sim: A Utility For Detecting Similarity in Computer Programs', available at ftp://ftp.cs.vu.nl/pub/dick/similarity_tester/, In proc. of 30th SCGCSE Technical Symp., pp. 266-270, New Orleans, USA, 1998 https://doi.org/10.1145/299649.299783
  16. X. Chen, M. Li, B. Mckinnon & A. Seker, 'A Theory of Uncheatable Program Plagiarism Detection and Its Practical Implementation', University of California, Santa-Barbara, May., 2002
  17. X. Chen, S. Kwong & M. Li, 'A Compression Algorithm for DNA Sequence and its Applications in Genome Comparion', In Proc. of the20th Workshop on Genome Information, pp. 52-61, 1999 https://doi.org/10.1145/332306.332352
  18. 유재우, 김영철. '프로그램 유사도 평가를 이용한 유사 프로그램 그룹짓기'. 한국정보과학회 논문지, 31(1), Jan. 2004
  19. J. Lin & JLex Tutorial, available at http://bmrc.berkeley.edu/courseware/cs164/spring98/proj/jlex/tutorial.html
  20. S. E. Hudson, 'CUP Parser Generator for Java', available at http://www.cs.princeton.edy/~appel/modern/java/CUP/

피인용 문헌

  1. A Similarity Measurement and Visualization Method for the Analysis of Program Code vol.16, pp.7, 2013, https://doi.org/10.9717/kmms.2013.16.7.802