Skip to main content
QUICK REVIEW

[논문 리뷰] MISIM: An End-to-End Neural Code Similarity System.

Fangke Ye, Shengtian Zhou|arXiv (Cornell University)|2020. 06. 05.
Software Engineering Research참고 문헌 52인용 수 17
한 줄 요약

MISIM은 문맥 인지형 의미적 구조와 학습 가능한 신경 스코링 모델을 결합한 엔드 투 엔드 신경 코드 유사도 시스템으로, 코드 유사도 작업에서 최신 기술 수준의 성능을 달성한다. 45,780개의 프로그램에 대한 평가에서 MISIM은 code2vec, Neural Code Comprehension, Aroma보다 최대 40.6배 높은 유사도 정확도를 기록했다.

ABSTRACT

Code similarity systems are integral to a range of applications from code recommendation to automated construction of software tests and defect mitigation. In this paper, we present Machine Inferred Code Similarity (MISIM), a novel end-to-end code similarity system that consists of two core components. First, MISIM uses a novel context-aware similarity structure, which is designed to aid in lifting semantic meaning from code syntax. Second, MISIM provides a neural-based code similarity scoring system, which can be implemented with various neural network algorithms and topologies with learned parameters. We compare MISIM to three other state-of-the-art code similarity systems: (i) code2vec, (ii) Neural Code Comprehension, and (iii) Aroma. In our experimental evaluation across 45,780 programs, MISIM consistently outperformed all three systems, often by a large factor (upwards of 40.6x).

연구 동기 및 목표

  • 기존 코드 유사도 시스템이 문법적 구조에서 깊은 의미 관계를 포착하는 데 한계가 있음을 해결하기 위해.
  • 문맥 인지형 표현 학습을 통해 코드 유사도 스코링을 향상시키는 엔드 투 엔드 신경 프레임워크를 개발하기 위해.
  • code2vec, Neural Code Comprehension, Aroma와 같은 기존 최신 기술 수준의 시스템을 코드 유사도 벤치마킹에서 능가하기 위해.
  • 향상된 의미적 코드 이해를 통해 더 정확한 코드 추천, 테스트 생성, 결함 탐지 기능을 가능하게 하기 위해.

제안 방법

  • MISIM은 코드 문법으로부터 의미를 추출하고 유지하는 데 설계된 문맥 인지형 유사도 구조를 사용한다.
  • 다양한 신경망 아키텍처를 지원하며 학습을 통해 최적의 파rameter를 학습하는 신경 기반 코드 유사도 스코링 시스템을 사용한다.
  • 학습된 표현 공간을 통해 구문적 및 의미적 특징을 통합하여 유사도 탐지 성능을 향상시킨다.
  • 유사도 예측 성능 최적화를 위해 대규모 코드 코퍼스에서 엔드 투 엔드로 모델을 훈련시킨다.
  • 딥 러닝을 활용해 코드 스니펫을 의미 유사도를 반영하는 조밀한 벡터 표현으로 매핑한다.
  • 강건성과 일반화 성능을 보장하기 위해 표준화된 45,780개 프로그램의 벤치마크를 사용해 프레임워크를 평가한다.

실험 결과

연구 질문

  • RQ1문맥 인지형 신경 아키텍처가 기존 최신 기술 수준의 모델을 뛰어넘어 코드 유사도 탐지 성능을 크게 향상시킬 수 있는가?
  • RQ2MISIM의 엔드 투 엔드 학습 프레임워크는 의미적 코드 관계를 포착하는 데 있어 모듈러하거나 파ip라인 기반 접근 방식과 비교해 어떻게 다를까?
  • RQ3실제 코드 유사도 작업에서 MISIM이 code2vec, Neural Code Comprehension, Aroma를 얼마나 뛰어넘는가?
  • RQ4MISIM은 다양한 프로그래밍 언어와 코드 구조에 걸쳐 확장성과 일반화 성능이 얼마나 뛰어난가?

주요 결과

  • MISIM은 코드 유사도 스코링에서 다음으로 우수한 베이스라인 시스템보다 최대 40.6배 높은 성능 향상을 달성했다.
  • 모든 45,780개의 평가 대상 프로그램에서 MISIM은 code2vec, Neural Code Comprehension, Aroma를 일관되게 능가했다.
  • 문맥 인지형 유사도 구조는 코드 문법으로부터 의미 관계를 포착하는 데 모델의 능력을 크게 향상시켰다.
  • 신경 스코링 컴포넌트는 다양한 코드 패턴과 프로그래밍 구조에 걸쳐 강력한 일반화 성능을 보였다.
  • 엔드 투 엔드 훈련 파라다임은 모듈러 접근 방식에 비해 의미 표현 학습 최적화를 더 잘 달성했다.
  • MISIM의 아키텍처는 코드 추천 및 자동 테스팅과 같은 실세계 응용 분야에서 매우 효과적인 것으로 입증되었다.

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

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

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

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