공통 토큰에 기반한 서로 다른 언어의 유사성 검사Cross-Language Clone Detection based on Common Token
- Other Titles
- Cross-Language Clone Detection based on Common Token
- Authors
- 홍성문; 김현하; 이제형; 박성우; 모지환; 도경구
- Issue Date
- Dec-2018
- Publisher
- 한국소프트웨어감정평가학회
- Keywords
- 언어간 클론 탐지; 클론 검사; 코드 클론; 소스코드 표절; 공통 토큰; cross-language clone detection; clone checking; code clone; common tokens
- Citation
- Journal of Software Assessment and Valuation, v.14, no.2, pp 35 - 44
- Pages
- 10
- Indexed
- KCICANDI
- Journal Title
- Journal of Software Assessment and Valuation
- Volume
- 14
- Number
- 2
- Start Page
- 35
- End Page
- 44
- URI
- https://scholarworks.bwise.kr/erica/handle/2021.sw.erica/7278
- ISSN
- 2092-8114
2733-4384
- Abstract
- 서로 다른 언어로 작성된 소스코드의 유사성 검사는 주로 요약구문트리를 기반으로 비교를 수행한다. 하지만 대규모의 소스코드를 실용적인 수준으로 비교하려면 토큰수준 기반에서 작동하는 유사성 검사 기술이 필요하다.
본 연구에서는 서로 다른 언어에서 생성되었지만 같은 의미를 지닌 토큰을 표현할 수 있는 공통 토큰을 정의하고, 소스코드에서 언어별 처리 과정을 거쳐 생성한 공통 토큰의 나열을 입력으로 소스코드의 유사성 검사를 수행하는 방법을 제안한다. 한국저작권위원회의 표절검사 도구 exEyes를 사용해서 서로 다른 언어로 작성된 동일한 코드를 대상으로 실험한 결과, 제안한 방법을 사용했을 때, 유사성 평가 성능이 향상됨을 보였다.
Tools for detecting cross-language clones usually compare abstract-syntax-tree representations of source code, which lacks scalability. In order to compare large source code to a practical level, we need a similarity checking technique that works on a token level basis. In this paper, we define common tokens that represent all tokens commonly used in programming languages of different paradigms. Each source code of different language is then transformed into the list of common tokens that are compared. Experimental results using exEyes show that our proposed method using common tokens is effective in detecting cross-language clones.
- Files in This Item
-
Go to Link
- Appears in
Collections - COLLEGE OF COMPUTING > SCHOOL OF COMPUTER SCIENCE > 1. Journal Articles

Items in ScholarWorks are protected by copyright, with all rights reserved, unless otherwise indicated.