Skip to main content
QUICK REVIEW

[논문 리뷰] Challenging Machine Learning-based Clone Detectors via Semantic-preserving Code Transformations

Weiwei Zhang, Shengjian Guo|arXiv (Cornell University)|2021. 11. 21.
Software Engineering Research참고 문헌 78인용 수 4
한 줄 요약

이 논문은 기계학습 기반 클론 검출기의 강건성에 도전하기 위해 의미를 유지하는 코드 변환을 생성하는 CloneGen이라는 프레임워크를 제안한다. 변수 이름 변경, 루프 재구성과 같은 경량 변환을 적용하고, 히우리스틱 및 딥 강화학습 전략을 결합함으로써 CloneGen은 ASTNN, TBCCD, TextLSTM와 같은 최신 기계학습 기반 검출기에서 탐지 회피에 성공하여, 간단한 코드 변형에 취약함을 드러낸다.

ABSTRACT

Software clone detection identifies similar code snippets. It has been an active research topic that attracts extensive attention over the last two decades. In recent years, machine learning (ML) based detectors, especially deep learning-based ones, have demonstrated impressive capability on clone detection. It seems that this longstanding problem has already been tamed owing to the advances in ML techniques. In this work, we would like to challenge the robustness of the recent ML-based clone detectors through code semantic-preserving transformations. We first utilize fifteen simple code transformation operators combined with commonly-used heuristics (i.e., Random Search, Genetic Algorithm, and Markov Chain Monte Carlo) to perform equivalent program transformation. Furthermore, we propose a deep reinforcement learning-based sequence generation (DRLSG) strategy to effectively guide the search process of generating clones that could escape from the detection. We then evaluate the ML-based detectors with the pairs of original and generated clones. We realize our method in a framework named CloneGen. CloneGen In evaluation, we challenge the two state-of-the-art ML-based detectors and four traditional detectors with the code clones after semantic-preserving transformations via the aid of CloneGen. Surprisingly, our experiments show that, despite the notable successes achieved by existing clone detectors, the ML models inside these detectors still cannot distinguish numerous clones produced by the code transformations in CloneGen. In addition, adversarial training of ML-based clone detectors using clones generated by CloneGen can improve their robustness and accuracy. CloneGen Meanwhile, compared with the commonly-used heuristics, the DRLSG strategy has shown the best effectiveness in generating code clones to decrease the detection accuracy of the ML-based detectors.

연구 동기 및 목표

  • 최근 기계학습 기반 클론 검출기의 의미를 유지하는 코드 변환에 대한 강건성 여부를 조사하기 위해.
  • 기계학습 기반 검출기의 탐지 회피가 가능한 경량이고 자동화된 프레임워크를 개발하기 위해.
  • 히우리스틱 검색 전략과 딥 강화학습이 악성 클론을 효과적으로 생성하여 검출 정확도를 낮출 수 있는지 평가하기 위해.
  • 현재 기계학습 기반 클론 검출기가 높은 정확도를 기록하고 있음에도 불구하고, 단순한 의미 유지 코드 변형에 여전히 취약함을 입증하기 위해.
  • 생성된 클론을 사용한 악성 훈련을 통해 클론 검출 모델의 강건성을 향상시키기 위한 권고를 위해.

제안 방법

  • 변수 이름 변경, 루프 변환, 문장 재정렬 등 15개의 경량적이고 의미를 유지하는 코드 변환 연산자 설계 및 구현.
  • 랜덤 서치, 유전자 알고리즘, 마르코프 체인 몬테카를로를 포함한 세 가지 히우리스틱 검색 전략 통합을 통해 효과적인 변환 조합 탐색.
  • 딥 강화학습 기반 시퀀스 생성(DRLSG) 전략 개발을 통해 검색 과정을 더 효과적인 악성 클론 생성 방향으로 이끌기.
  • 원본 소스 코드 스니펫에서 의미 동치성을 유지하면서 변환된 코드 클론 생성.
  • 기계학습 기반(예: ASTNN, TBCCD, TextLSTM) 및 전통적(예: FCDetector) 클론 검출기와의 비교를 통해 탐지 정확도 저하 측정.
  • 생성된 악성 클론을 사용한 악성 훈련을 통해 검출기의 강건성 및 정확도 향상

실험 결과

연구 질문

  • RQ1의미를 유지하는 코드 변환이 최신 기계학습 기반 클론 검출기의 탐지 회피에 효과적으로 작용할 수 있는가?
  • RQ2히우리스틱과 DRLSG 전략 간에 탐지 정확도를 낮추는 클론 생성 능력에서 어떤 차이가 있는가?
  • RQ3경량 변환 후 의미적으로 동치인 코드 클론을 검출할 수 없는 현재의 기계학습 기반 클론 검출기의 실패 정도는 어느 정도인가?
  • RQ4생성된 클론을 사용한 악성 훈련이 기계학습 기반 클론 검출기의 강건성과 정확도 향상에 기여할 수 있는가?
  • RQ5간단하지만 효과적인 코드 변환에 직면했을 때 기존 클론 검출기의 한계는 무엇인가?

주요 결과

  • 표준 벤치마크에서 95% 이상의 정확도를 달성한 기계학습 기반 클론 검출기들인 ASTNN, TBCCD, TextLSTM는 의미 유지 변환 후 CloneGen이 생성한 클론 중 상당수를 탐지하지 못했다.
  • DRLSG 전략은 탐지 회피에 효과적인 클론 생성에서 전통적 히우리스틱 전략을 능가하여, 악성 코드 변종 탐색을 위한 효과적인 지도 전략임을 입증했다.
  • 기존 전통적 클론 검출기 역시 생성된 클론의 영향을 받았지만, 기계학습 기반 검출기보다는 덜 영향을 받았으며, 이는 코드 변환에 대한 광범위한 취약성을 시사한다.
  • CloneGen이 생성한 클론을 사용한 악성 훈련은 기계학습 기반 검출기의 강건성과 정확도를 모두 향상시켰으며, 이러한 데이터 증강 방식이 모델 일반화 능력을 향상시킬 수 있음을 시사한다.
  • 본 연구는 현재 기계학습 기반 클론 검출기의 핵심적인 강건성 격차를 드러내며, 의미 변형을 포함한 더 견고한 모델과 훈련 데이터가 필요함을 강조한다.
  • 소스 코드 및 실험 데이터는 https://github.com/CloneGen/CLONEGEN 에 공개되어 있어 재현성과 향후 연구를 가능하게 한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.