공통 토큰에 기반한 서로 다른 언어의 유사성 검사
- Title
- 공통 토큰에 기반한 서로 다른 언어의 유사성 검사
- Other Titles
- Cross-Language Clone Detection based on Common Token
- Author
- 도경구
- Keywords
- 언어간 클론 탐지; 클론 검사; 코드 클론; 소스코드 표절; 공통 토큰
- Issue Date
- 2018-12
- Publisher
- 한국소프트웨어감정평가학회
- Citation
- 한국소프트웨어감정평가학회 논문지, v. 14, No. 2, Page. 35-44
- 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.
- URI
- http://www.i3.or.kr/html/paper/2018-2/2018-2.htmhttps://repository.hanyang.ac.kr/handle/20.500.11754/127563
- ISSN
- 2092-8114
- Appears in Collections:
- COLLEGE OF COMPUTING[E](소프트웨어융합대학) > COMPUTER SCIENCE(소프트웨어학부) > Articles
- Files in This Item:
There are no files associated with this item.
- Export
- RIS (EndNote)
- XLS (Excel)
- XML