Skip to main content
QUICK REVIEW

[논문 리뷰] Deep Learning Meets Software Engineering: A Survey on Pre-Trained Models of Source Code

Changan Niu, Chuanyi Li|arXiv (Cornell University)|2022. 05. 24.
Software Engineering Research인용 수 10
한 줄 요약

이 종합 검토는 소스 코드 전처리 모델(CodePTMs)에 대해 아키텍처, 사전 훈련 방법, 18개의 소프트웨어 공학 작업에 대한 응용을 포함해 종합적인 개요를 제공한다. 자연어 처리(NLP) 전처리 모델을 코드에 적용하는 데서 발생하는 한계를 부각하고, 성능과 효율성을 향상시키기 위해 토큰화, 사전 훈련 작업, 모델 적응에 대해 코드 전용 설계를 권장한다. 코드 이해 및 생성 작업에서의 성능 향상에 기여한다.

ABSTRACT

Recent years have seen the successful application of deep learning to software engineering (SE). In particular, the development and use of pre-trained models of source code has enabled state-of-the-art results to be achieved on a wide variety of SE tasks. This paper provides an overview of this rapidly advancing field of research and reflects on future research directions.

연구 동기 및 목표

  • AI 연구자들에게 전처리 모델이 소프트웨어 공학에 미치는 영향이 점점 커지고 있음을 인식시키기 위해.
  • 다양한 소프트웨어 공학(SE) 작업에 응용된 기존의 소스 코드 전처리 모델(CodePTMs)과 그 응용을 체계적으로 조사하기 위해.
  • 일반적인 NLP 기반 사전 훈련을 코드에 적용할 때 발생하는 주요 과제를 특정화하기 위해, 토큰화, 구조 인식, 사전 훈련 작업 등을 포함한다.
  • 코드 전용 설계, 코드의 구조와 기능을 동시에 학습하는 방법, 작업에 특화된 적응 기법 등의 향후 연구 방향을 제안하기 위해.
  • 모든 벤치마크 데이터셋에서 공정하고 종합적인 비교가 가능하도록 통합된 평가 프레임워크를 도입할 것을 주장하기 위해.

제안 방법

  • 2016년부터 2022년까지의 CodePTMs 관련 최근 연구 185篇 이상을 검토하여, 모델 아키텍처, 사전 훈련 목표, 최종 작업 성능에 중점을 둔다.
  • 모델 아키텍처 기반으로 CodePTMs를 분류한다: 토큰 기반(BERT 스타일), 트리 기반(예: AST 인식), 순차적-순차적(예: T5 스타일).
  • 마스크된 언어 모델링(MLM), 식별자 마스킹(MLM), 클론 탐지 및 제어 흐름 복원과 같은 코드 전용 목표를 포함한 사전 훈련 작업을 분석한다.
  • 코드 분류, 결함 탐지, 코드 검색, 코드 요약, 코드 생성 등 18개의 SE 작업에서 CodePTMs의 성능을 평가한다.
  • 코드 전용 토큰화, 구조 인식 사전 훈련, 프롬프트 테일링 또는 어댑터 모듈을 통한 효율적 적응과 같은 방법론적 개선을 제안한다.
  • 표준 벤치마크와 정성적 오류 분석을 포함하는 통합 평가 프rotocol를 권장하여 모델의 해석 가능성과 비교 가능성 향상.

실험 결과

연구 질문

  • RQ1소스 코드 전처리 모델은 NLP 전처리 모델과 아키텍처 및 사전 훈련 목표에서 어떻게 다릅니까?
  • RQ2일반적인 NLP 전처리 모델을 소프트웨어 공학 작업에 적용할 때 발생하는 주요 한계는 무엇입니까?
  • RQ3코드 이해 및 생성 작업에서 최고의 성능을 내는 데 기여하는 사전 훈련 작업과 아키텍처 설계는 무엇입니까?
  • RQ4모든 파라미터를 재학습하지 않고도 코드 전처리 모델을 최종 작업에 효율적으로 미세조정하거나 적응시키는 방법은 무엇입니까?
  • RQ5다양한 SE 벤치마크에서 CodePTMs를 평가하고 비교하기 위한 가장 효과적인 전략은 무엇입니까?

주요 결과

  • 기존의 CodePTMs는 주로 코드의 형태(즉, 어휘적 토큰)에서 표현을 학습하기 때문에 기능적 의미 이해에 한계가 있다.
  • 일부 경우에서 식별자 마스킹(MLM) 사전 훈련 방식은 표준 마스크된 언어 모델링(MLM) 방식보다 성능이 열 劣하므로, 코드의 특성에 맞는 설계가 부적절하다는 것을 시사한다.
  • 표준 NLP 기법만으로는 코드의 구문적 및 의미적 구조를 충분히 반영할 수 없기 때문에, 코드 전용 토큰화 및 임베딩 방법이 필요하다.
  • 프롬프트 테일링 또는 어댑터 모듈을 통한 모델 적응은 미세조정 시 파라미터 업데이트를 줄이고 효율성을 향상시켜, 전체 미세조정의 대안으로 유망한 방향이다.
  • 특정 작업 유형(예: 이해 vs. 생성)에 맞게 특화된 전처리 모델은 최종 작업 목표와 더 잘 일치하므로 일반 목적의 모델보다 뛰어난 성능을 낼 수 있다.
  • 18개의 모든 SE 작업과 표준 벤치마크를 통합한 평가 프레임워크가 공정한 비교와 모델의 강점 및 약점에 대한 깊이 있는 통찰을 확보하기 위해 필수적이다.

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

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

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

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