Skip to main content
QUICK REVIEW

[논문 리뷰] CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generation

Shuai Lu, Daya Guo|arXiv (Cornell University)|2021. 02. 09.
Software Engineering Research참고 문헌 98인용 수 415
한 줄 요약

CodeXGLUE는 프로그래밍 이해 및 생성을 위한 14개 데이터셋에 걸친 10개 태스크의 벤치마크 데이터 세트와, 모델 평가 및 비교를 위한 세 가지 베이스라인 시스템(CodeBERT, CodeGPT, Encoder-Decoder 프레임워크)을 제시합니다.

ABSTRACT

Benchmark datasets have a significant impact on accelerating research in programming language tasks. In this paper, we introduce CodeXGLUE, a benchmark dataset to foster machine learning research for program understanding and generation. CodeXGLUE includes a collection of 10 tasks across 14 datasets and a platform for model evaluation and comparison. CodeXGLUE also features three baseline systems, including the BERT-style, GPT-style, and Encoder-Decoder models, to make it easy for researchers to use the platform. The availability of such data and baselines can help the development and validation of new methods that can be applied to various program understanding and generation problems.

연구 동기 및 목표

  • 코드 이해 및 생성을 위한 ML 연구를 가속화하기 위한 다양한 벤치마크를 확립한다.
  • 여러 프로그래밍 태스크와 언어에 걸친 평가 및 모델 비교를 위한 통합 플랫폼을 제공한다.
  • 코드 인텔리전스 연구에 진입하는 연구자들의 진입 장벽을 낮추기 위한 즉시 사용 가능한 베이스라인을 제공한다.

제안 방법

  • 새로 도입된 cloze 테스트, 줄 단위 코드 완성, 코드 번역, 코드 검색, 문서 번역 등을 포함하여 다수의 언어에 걸친 10개 태스크를 아우르는 14개 데이터셋을 구성한다.
  • 세 가지 베이스라인 모델군을 제공한다: BERT-스타일 인코더(CodeBERT), GPT-스타일 디코더(CodeGPT), 그리고 시퀀스 투 시퀀스 태스크용 인코더-디코더 프레임워크.
  • CodeXGLUE 태스크에서 이들 베이스라인의 사전학습(pretraining) 및 미세조정(fine-tuning)을 사용하여 강력한 성능 벤치마크를 확립한다.
  • 토크나이제이션, 어휘 선택, 필터링 등의 데이터 처리 단계를 설명하여 각 태스크의 데이터 품질을 보장한다.
  • 태스크와 언어 전반에 걸친 표준화된 평가 및 비교를 위한 플랫폼을 제안한다.
  • BigCloneBench, POJ-104, CodeSearchNet, CONCODE, 및 Microsoft Docs 번역과 같은 확립된 데이터셋에 대한 실험을 기반으로 한다.

실험 결과

연구 질문

  • RQ1다양한 코드 이해 및 생성 태스크에 걸친 단일 벤치마크가 코드용 ML의 발전을 촉진할 수 있는가?
  • RQ2광범위한 코드 관련 태스크에 대한 표준 사전학습 모델의 베이스라인 성능 수준은 어느 정도인가?
  • RQ3코드 전용 사전학습 모델(CodeBERT, CodeGPT)은 복제 탐지, 결함 탐지, 코드 완성 등 관련 태스크에서 전통적 베이스라인과 어떻게 비교되는가?

주요 결과

모델F1MAP종합
RoBERTa94.979.9687.4
CodeBERT96.584.2990.4
  • CodeBERT는 BigCloneBench/CodeBERT에서 RoBERTa 베이스라인 대비 90.4의 종합 점수로 복제 탐지에서 강력한 성과를 달성한다.
  • CodeBERT 및 CodeGPT 베이스라인은 여러 태스크에서 경쟁력 있는 성능을 보여주며, 코드에 대한 사전학습된 언어 인식 표현의 이점을 시사한다.
  • 결함 탐지 결과 CodeBERT가 62.08% 정확도를 보이며, 사전학습 모델이 전통적 베이스라인에 비해 상당한 이점을 제공함을 나타낸다.
  • CTL 결과(cloze tests)는 CodeBERT가 여러 언어 및 CT 설정에서 RoBERTa를 능가함을 보여주며, 강한 코드 이해 능력을 강조한다.
  • 벤치마크는 사전학습 모델이 코드 관련 태스크를 향상시키지만, 더 나은 성능을 위해 코드 구조를 더욱 활용할 여지가 있음을 시사한다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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