본문 바로가기
KERD
논문KCI 등재

CCR : 트리패턴 기반의 코드클론 탐지기

CCR : Tree-pattern based Code-clone Detector

0

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

본 연구에서는 트리패턴 기반으로 코드클론을 탐지하는 도구인 CCR(Code Clone Ransacker)를 제안하고구현하였다. CCR은 프로그램 트리의 모든 하위트리 쌍을 비교하여 중복된 부분인 트리패턴을 찾고 동일한모양의 패턴들을 하나로 묶어 프로그램에 존재하는 클론들을 샅샅이 탐지한다. 이때 이미 찾은 패턴 내부의클론 패턴을 비교대상에서 제외하여 중복계산을 하지 않아 불필요한 예산을 최대한 줄인다. 실험으로 CCR의성능을 평가한 결과, CCR의 정확성과 탐지성은 높다. 프로그램의 구조를 비교하는 기존의 트리패턴 기반의코드클론 탐지 도구들의 정확성과 탐지성은 이미 좋은 것으로 알려져 있지만, CCR은 높은 정확성을 유지하면서 탐지성은 기존의 Asta보다는 최대 5배, CloneDigger보다는 약 1.9배 높다. 그리고 CCR이 찾은 코드클론은 기존의 코드클론 표본 집합체의 클론을 대부분 포함한다.

Abstract

This paper presents a tree-pattern based code-clone detector as CCR(Code Clone Ransacker) that finds all clusterd dulpicate pattern by comparing all pair of subtrees in the programs. The pattern included in its entirely in another pattern is ignored since only the largest duplicate patterns are interesed. Evaluation of CCR is high precision and recall. The previous tree-pattern based code-clone detectors are known to have good precision and recall because of comparing program structure. CCR is still high precision and the maximum 5 times higher recall than Asta and about 1.9 times than CloneDigger. The tool also include the majority of Bellon's reference corpus.

참고문헌 (11)

  1. Baxter, I., "Clone Detection Using Abstract Syntax Trees", ICSM, pp.368~377 (1998)
  2. Bellon, S., "Comparison and Evaluation of Clone Detection Tools", IEEE TSE, 33(9), pp.577~591 (2007)
  3. Bulychev, P. E, "An evaluation of duplicate code detection using anti-unification", IWSC (2009)
  4. Burd, E, "Evaluating Clone Detection Tools for Use during Preventative Maintenance", ICSM, pp.35~43 (2002)
  5. Evans, W., "Clone Detection via Structural Abstraction", WCRE, pp.150~159 (2007)
  6. Jiang, L., "DECKARD : Scalable and Accurate Tree-based Detection of Code Clones", ICSE, pp.96~105 (2007)
  7. Kapser, C, "Supporting the Analysis of Clones in Software Systems: A Case Study", Journal of Software Maintenance and Evolution:Research and Practice, 18(2), pp.61~82 (2006)
  8. Lee, Hyo-Sub, "Tree-pattern-based duplicate code detection", DSMM, pp.7~12 (2009)
  9. Li, H, "Incremental Code Detection and Elimination for Erlang Programs", FASE, pp.356~370 (2011)
  10. A survey on software clone detection research, "Roy, C. K", Queen's School of computing, 115~, pp.Queen's School of computing TR 2007-541 (2007)
  11. Roy, C. K., "Comparison and Evaluation of Code Clone Detection Techniques and Tools : A Qualitative Approach", Journal of Software Maintenance and Evolution, 21(2), pp.143~169 (2009)

관련 논문AI추천

이 간행물의 다른 논문 (6건)