$\require{mediawiki-texvc}$

연합인증

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

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

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

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

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

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

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

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

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

초록
AI-Helper 아이콘AI-Helper

코드 이동성이 증가함에 따라 코드 도용이 문제가 되고 있으며 이를 대처하기 위해 프로그램 비교를 위한 연구가 많이 진행되고 있다. 이 논문은 클래스 구조를 이용하여 Java 프로그램의 표절을 검사하는 방법을 제안한다. 제안 방법은 멤버 변수와 메소드 간의 참조 관계를 나타내는 그래프를 생성한다. 변수 참조 관계는 이분 그래프 형태로 나타나는데 이렇게 생성된 그래프를 대상으로 그래프 동형 검사를 적용하여 프로그램 간의 유사도를 측정한다. 이 논문에서는 제안 방법의 효과를 입증하기 위해 2012년 부산대학교 객체지향 프로그래밍 과제로 제출된 Java 프로그램을 대상으로 실험하였다. 그리고 제안 방법의 정확도를 평가하기 위해 기존 유사도 검사 프로그램인 JPlag와 Stigmata를 대상으로 F-measure 지표를 이용해 비교하였다. 그 결과 제안 방법의 F-measure가 JPlag보다 0.17, Stigmata보다 0.34 높은 것으로 나타났다.

Abstract AI-Helper 아이콘AI-Helper

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 relationshi...

주제어

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

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

문제 정의

  • 이 논문에서는 10개의 대상 프로그램의 성능 평가를 위해 실제 표절 여부를 코드 검토하여 확인하였다. 검토방법으로 실제 코드의 유사한 부분을 찾은 후 과제를 제출한 학생과 면담을 통해 표절 여부를 확인하였다.
  • 이 논문에서는 정적인 방법인 Java 소스 코드를 이용해 클래스의 구조를 버스마크로 추출해 프로그램 표절을 검사하는 방법을 제안한다. 제안 방법은 클래스 멤버 변수와 메소드 간의 참조 관계를 이용해 이를 그래프로 표현하는 방법이다.
  • 이 논문에서는 프로그램 표절 검사를 위해 클래스 구조를 이용하는 방법을 제안한다. 제안 방법은 소프트웨어 버스마크의 한 종류이다.
  • 이 논문에서는 프로그램 표절을 검사하는 방법으로 클래스 구조를 이용하는 정적인 버스마크인 CRGB를 제안하였다. CRGB는 클래스의 메소드에서 멤버 변수가 사용되었다면 서로 연관 관계가 있는 것으로 간주해 멤버 변수와 메소드의 자료형을 그래프의 정점으로 추가하고 간선으로 연결하는 방법이다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
소프트웨어 버스마크는 무엇인가? 소프트웨어 버스마크는 프로그램의 고유한 특징을 이용해 프로그램을 식별하는 방법이다[2]. 이는 최근 프로그램 표절 검사 연구에서 많이 이용되고 있는 방법으로 일종의 워터마크(water mark)와 유사한 방법이라 볼 수 있다.
소프트웨어 버스마크와 워터마크의 마크를 삽입하는 방법은 어떻게 다른가? 소프트웨어 버스마크와 워터마크의 결정적인 차이점은 마크를 삽입하는 방법이다. 워터마크는 프로그램의 복제 방지를 위해 개발자가 직접 특정한 기호 코드에 삽입하는 방법이다. 하지만 소프트웨어 버스마크는 프로그램에 추가로 마크를 삽입하지 않고 탐지하는 방법이다.
안드로이드 앱은 왜 소스 코드 표절이 쉽게 일어나는가? 코드 이동성이 증가함에 따라 프로그램 저작권 논란도 같이 늘어나고 있어 라이선스 관리 문제가 크게 다루어지고 있다[1]. 특히 안드로이드 앱은 Java 기반의 플랫폼이기 때문에 역분석을 통한 소스 코드 표절이 쉽게 일어날 수 있어 프로그램 표절 검사 기법이 더욱 필요하다.
질의응답 정보가 도움이 되었나요?

참고문헌 (21)

  1. 차병래, "소프트웨어 소스 코드의 저작권 관리를 위한 디지털 라이센스의 검색", 한국콘텐츠학회논문지, 제7권, 제1호, pp.21-31, 2007. 

  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. 

  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. Roy and J. Cordy, A Survey on Software Clone Detection Research, Technical Report 541, Queen's University at Kingston. 2007. 

  14. 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. 

  15. 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. 

  16. 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. 

  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. 

  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/ 

저자의 다른 논문 :

관련 콘텐츠

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

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

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

선택된 텍스트

맨위로