Skip to main content
QUICK REVIEW

[논문 리뷰] An Empirical Comparison of Pre-Trained Models of Source Code

Changan Niu, Chuanyi Li|arXiv (Cornell University)|2023. 02. 08.
Software Engineering Research인용 수 7
한 줄 요약

이 논문은 13개의 소프트웨어 공학 작업을 통해 19개의 사전 훈련된 소스 코드 모델에 대한 첫 번째 체계적인 실험적 비교를 제시한다. 표준화된 설정을 사용하여 모델 성능을 평가하고, 성능에 영향을 주는 주요 아키텍처 및 사전 훈련 전략 요소를 규명하며, TF 기반 모델이 코드 이해 및 생성 작업 모두에서 TE 기반 모델보다 뛰어나다는 것을 드러내어 기존의 모델 유형에 대한 우월성에 대한 가정을 도전한다.

ABSTRACT

While a large number of pre-trained models of source code have been successfully developed and applied to a variety of software engineering (SE) tasks in recent years, our understanding of these pre-trained models is arguably fairly limited. With the goal of advancing our understanding of these models, we perform the first systematic empirical comparison of 19 recently-developed pre-trained models of source code on 13 SE tasks. To gain additional insights into these models, we adopt a recently-developed 4-dimensional categorization of pre-trained models, and subsequently investigate whether there are correlations between different categories of pre-trained models and their performances on different SE tasks.

연구 동기 및 목표

  • 다양한 소프트웨어 공학 작업을 통해 사전 훈련된 소스 코드 모델(CodePTMs)에 대한 체계적인 실험적 평가를 수행하여 CodePTMs에 대한 이해를 향상시키는 것.
  • 4차원 분류 프레임워크를 사용하여 CodePTM 유형과 다양한 SE 작업에서의 성능 간 상관관계를 조사하는 것.
  • 다양한 최종 작업에서 성능을 극대화하기 위해 효과적인 사전 훈련 전략, 모odalities(예: 자연어, 코드 구조), 아키텍처 선택을 규명하는 것.

제안 방법

  • 연구는 표준화된 데이터셋과 메트릭을 사용하여 19개의 최근에 개발된 CodePTMs를 13개의 표준 SE 작업에서 평가한다.
  • CodePTMs의 4차원 분류를 적용하여 아키텍처 및 사전 훈련 전략의 차이를 분석한다.
  • 모든 모델은 동일한 하이퍼파rameter 설정에서 미세조정되어 작업 간 공정한 비교를 보장한다.
  • 통계적 유의성 검정을 사용하여 모델 간 성능 차이를 검증한다.
  • 재현 가능성 확보 및 원래 구현에서의 편차 최소화를 위해 데이터셋과 모델을 재구현하거나 재수집한다.
  • 모달리티(예: 자연어, 코드 구조) 및 사전 훈련 작업(예: MLM, DAE, MASS)에 대한 추상화 연구를 포함하여 성능에 미치는 영향을 평가한다.

실험 결과

연구 질문

  • RQ1TF 기반 모델과 TE 기반 모델 간의 아키텍처 유형(예: TF 기반 대비 TE 기반)이 다양한 SE 작업에서 성능에 어떻게 영향을 미치는가?
  • RQ2사전 훈련 중 자연어(NL), 코드 구조, 또는 둘 다를 통합할 경우 최종 작업 성능에 어떤 영향을 미치는가?
  • RQ3어느 사전 훈련 작업(예: MLM, DAE, MASS)이 다양한 SE 작업 유형에서 가장 높은 성능을 내는가?
  • RQ4다양한 프로그래밍 언어에서 사전 훈련된 모델이 단일 언어에서 사전 훈련된 모델보다 일관되게 성능 우위를 점하는가?
  • RQ5사전 훈련 전략의 선택이 코드 생성 작업과 코드 이해 작업 간 성능에 상관관계를 가지는가?

주요 결과

  • TF 기반 모델(예: CodeBERT, GraphCodeBERT)이 코드 이해 및 코드 생성 작업 모두에서 TE 기반 모델(예: BERT, RoBERTa)보다 뛰어나며, 이는 기존에 TE 기반 모델의 우월성을 가정하던 가정과는 정반대이다.
  • 사전 훈련 중 자연어(NL)를 사용하는 것이 대부분의 작업에서 성능을 크게 향상시키며, 특히 코드 간 상호 참조 및 코드 요약 작업에서 두드러진다.
  • DAE, MASS, MNG와 같은 사전 훈련 작업은 특히 코드 생성 및 코드 번역 작업에서 강력한 정적 효과를 보이며, 최종 성능에 기여한다.
  • 코드 구조(예: AST)를 통합하면 클론 탐지 및 코드 검색과 같은 작업에서 성능이 향상되며, 자연어와 조합할 경우 더욱 효과적이다.
  • 모든 작업에서 최고 성능을 내는 단일한 CodePTM은 존재하지 않으며, 모델 선택은 작업 유형에 따라 달라져야 하며, 다양한 모델이 서로 다른 작업 유형에서 뛰어난 성능을 발휘한다.
  • MLM 및 그 변종은 여러 작업에서 일관되게 뛰어난 결과를 내며, 이는 문법적 및 의미적 코드 특징을 효과적으로 포착할 수 있음을 시사한다.

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

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

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

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