$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

바이트코드 분석을 이용한 자바 프로그램 표절검사기법
A Plagiarism Detection Technique for Java Program Using Bytecode Analysis 원문보기

정보과학회논문지. Journal of KIISE. 소프트웨어 및 응용, v.35 no.7, 2008년, pp.442 - 451  

지정훈 (부산대학교 컴퓨터공학과) ,  우균 (부산대학교 컴퓨터공학과) ,  조환규 (부산대학교 컴퓨터공학과)

초록
AI-Helper 아이콘AI-Helper

대부분의 표절검사 시스템들은 소스코드를 이용해 유사도를 계산하고 표절 프로그램을 찾아낸다. 소스코드를 이용하여 표절검사를 수행할 경우, 소스코드 보안문제가 발생할 수 있다. 목적 코드를 이용한 표절검사는 소스코드 보안문제에 대한 좋은 대안이 될 수 있다. 본 논문에서는 자바 프로그램의 표절검사에 대하여 소스코드 없이 바이트코드를 이용해 표절검사를 수행하는 방법을 제시한다. 바이트코드를 이용한 표절검사는 크게 두 단계로 진행된다 먼저, 자바 클래스 파일로부터 메소드의 코드영역을 분석해 토큰 시퀀스를 생성한 다음 적응적 지역정렬을 이용해 유사도를 계산한다. 실험 결과, 소스코드와 바이트코드의 유사도는 비슷한 분포를 보였다. 또한, 소스코드 쌍과 바이트코드 쌍의 유사도 상관관계가 충분히 높게 측정되었다. 본 논문에서 제안한 바이트코드 표절검사 시스템은 소스코드를 이용해 직접 표절을 검사하기 전 단계에서 1차적인 검증도구로 활용할 수 있다.

Abstract AI-Helper 아이콘AI-Helper

Most plagiarism detection systems evaluate the similarity of source codes and detect plagiarized program pairs. If we use the source codes in plagiarism detection, the source code security can be a significant problem. Plagiarism detection based on target code can be used for protecting the security...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 일반문서 표절에 대한 연구는 영어나 한글과 같은 자연어로 작성된 문서에 대해 유사성을 분석하고 결과를 바탕오로 표절 여부를 판별하는 것이다. 그리고 프로그램 표절에 대한 연구는 같은 목적으로 작성된 서로 다른 프로그램을 기계적으로 분석해 유사성을 밝혀내는 연구다. 지금까지도 프로그램 표절에 대한 많온 연구가 진행되고 있으며, 소스코드롤 기계적으로 분석하여 자동으로 표절을 검출하는 시스템들이 개발되었다[4-刀.
  • 본 논문에서는 바이트코드 분석을 통해 자바 프로그램의 표절을 검사하는 기법에 대해 소개한다. 자바 프로그램 표절검사를 위해 소스코드를 비교하지 않고 클래스 파일만을 이용하여 표절검사를 수행한다.
  • 본 논문에서는 바이트코드를 표절검사에 사용 가능한지 알아보기 위해 자바 프로그램을 대상으로 자바 소스 코드를 이용한 표절검사 결과와 바이트코드를 이용해 표절 검사를 수행한 결과를 비교해 보았다. 표절검사 실 표 1 실험예 사용된 테스트 프로그램 집합: 么)06년도자바프로그래밍 실습문제 (GOL G02), 표절검사시스템 JPlag 에서 제공하는 소스코드(G03 : AWT 를 이용한 GUI 프로그램)
  • 이들 명령어는 지역 변수가 선언된 위치에 따라 컴파일러에 의해 선택적으로 사용된다. 본 논문에서는 바이트코드의 중복정의로 인한 차이를 줄이기 위해 203개의 바이트코드를 59개의 바이트 코드 그룹으로 묶었다. 203개의 바이트코드는 명령어가 수행하는 연산의 종류를 기준으로 분류하였다.
  • 본 논문에서는 자바 프로그램의 표절검사에서 소스 코드 없이 바이트코드만으로 표절검사를 수행하는 방법을 제안하였다. 표절검사를 위해 PINT容는 바이트코드 선형화와 지역정렬을 이용해 프로그램의 유사도를 계산하였다.
본문요약 정보가 도움이 되었나요?

참고문헌 (20)

  1. S. Mann and Z. Frew. Similarity and originality in code: plagiarism and normal variation in student assignments. In ACE'06: Proceedings of the 8th Australian conference on Computing education, pages 143-150, 2006 

  2. M. Joy and M. Luck. Plagiarism in programming assignments. IEEE Transactions of Education, 42(2):129-133, 1999 

  3. C. Daly and J. Horgan. Patterns of plagiarism. SIGCSE Bull., 37(1):383-387, 2005 

  4. A. Aiken. Moss(measure of software similarity) plagiarism detection system. 1998 

  5. M. J. Wise. Detection of similarities in student programs: Yap'ing may be preferable to plague'ing. SIGCSE Bull., 24(1):268-271, 1992 

  6. L. Prechelt, G. Malpohl, and M. Philippsen. Finding plagiarisms among a set of programs with JPlag. Journal of Universal Computer Science, 8(11):1016-1038, 2002 

  7. D. Gitchell and N. Tran. Sim: a utility for detecting similarity in computer programs. SIGCSE Bull., 31(1):266-270, 1999 

  8. B. S. Baker and U. Manber, Deducing Similarities in Java Sources from Bytecodes, In Proceedings of the USENIX Annual Technical Conference. 179-190. 1998 

  9. J. Ji, G. Woo, and H. Cho. A source code linearization technique for detecting plagiarized programs. In ITiCSE'07: Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education, pages 73-77, 2007 

  10. 지정훈, 우균, 조환규. 제한된 프로그램 소스 집합에서 표절 탐색을 위한 적응적 알고리즘. 정보과학회논문지: 소프트웨어 및 응용, 33(12), 1090-1102, 2006 

  11. A. Parker and J. O. Hamblen. Computer algorithms for plagiarism detection. IEEE Transaction on Education, 32(2):94-99, 1989 

  12. J. Ji, G. Woo, S. Park and H. Cho. Understanding evolution process of program source for investigating software authorship and plagiarism. In Proceedings of the 2nd International Conference on Digital Information Management, MLDM Poster, pages 55-69, 2007 

  13. K. L. Verco and M. J. Wise. Software for detecting suspected plagiarism: Comparing structure and attribute-counting systems. In Proceedings of the 1st Australian Conference on Computer Science Education, pages 130-134, Sydney, Australia, 1996 

  14. X. Chen, B. Francia, M. Li, B. McKinnon, and A. Seker. Shared information and program plagiarism detection. IEEE Transactions on Information Theory, 50(7):1545-1551, 2004 

  15. 강은미, 황미녕, 조환규. 유전체 서열의 정렬 기법을 이용한 소스 코드 표절 검사. 정보과학회논문지: 컴퓨팅의 실제, 9(3):352-367, 2003 

  16. J. Son, S. Park and S. Park. Program plagiarism detection using parse tree kernels. In Proceedings of the 9th Pacific Rim International Conference on Artificial Intelligence (PRICAI 2006), Volume 4099 of Lecture Notes in Computer Science, pages 1000-1004. Springer, 2006 

  17. 류창건, 김형준, 박병준, 최혜정, 조환규. 한글 말뭉치를 이용한 한글 표절 탐색 모델 개발. 한국정보과학회 2007 추계 학술발표 논문집, 34(2A), 58-59, 2007 

  18. C. Arwin and M. Tahaghoghi. Plagiarism detection across programming languages. In Proceedings of the 29th Australasian Computer Science Conference. 48(171), 277-286. 2006 

  19. T. F. Smith and M. S. Waterman, Identification of common molecular subsequences, Journal of Molecular Biology 147, 195-197, 1981 

  20. JavaCC : Java Compiler Compiler, https://javacc.dev.java.net/ 

저자의 다른 논문 :

LOADING...

관련 콘텐츠

이 논문과 함께 이용한 콘텐츠

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로