Skip to main content
QUICK REVIEW

[논문 리뷰] Long Code Arena: a Set of Benchmarks for Long-Context Code Models

Egor Bogomolov, Aleksandra Eliseeva|arXiv (Cornell University)|2024. 06. 17.
Distributed and Parallel Computing Systems인용 수 4
한 줄 요약

이 논문은 프로젝트 전체의 맥락을 요구하는 장기적 문맥 이해 능력을 평가하기 위한 벤치마크 세트인 Long Code Arena를 소개한다. 이 벤치마크는 라이브러리 기반 생성, CI 복구, 프로젝트 수준의 완성, 커밋 메시지 생성, 버그 위치 특정, 모듈 요약 등 총 여섯 가지 작업을 포함한다. 허가 조건이 유연한 오픈소스 레포지터리에서 유래했으며, 철저한 수동 검증을 거쳐 고품질의 데이터셋, 평가 도구, 베이스라인을 HuggingFace와 GitHub에 공개하여 장기적 문맥 코드 모델 연구를 촉진한다.

ABSTRACT

Nowadays, the fields of code and natural language processing are evolving rapidly. In particular, models become better at processing long context windows - supported context sizes have increased by orders of magnitude over the last few years. However, there is a shortage of benchmarks for code processing that go beyond a single file of context, while the most popular ones are limited to a single method. With this work, we aim to close this gap by introducing Long Code Arena, a suite of six benchmarks for code processing tasks that require project-wide context. These tasks cover different aspects of code processing: library-based code generation, CI builds repair, project-level code completion, commit message generation, bug localization, and module summarization. For each task, we provide a manually verified dataset for testing, an evaluation suite, and open-source baseline solutions based on popular LLMs to showcase the usage of the dataset and to simplify adoption by other researchers. We publish the benchmark page on HuggingFace Spaces with the leaderboard, links to HuggingFace Hub for all the datasets, and link to the GitHub repository with baselines: https://huggingface.co/spaces/JetBrains-Research/long-code-arena.

연구 동기 및 목표

  • 단일 파일이나 메서드를 초월해 전체 프로젝트 수준의 맥락을 요구하는 코드 모델 평가를 위한 벤치마크가 부족한 점을 보완하기 위해.
  • 실제 소프트웨어 엔지니어링 워크플로우를 반영하는 현실적이고 고정밀도의 평가 작업을 만들기 위해, 다수의 파일이나 전체 모듈에 대한 접근이 필요로 하는 작업을 구현하기 위해.
  • 실제 오픈소스 레포지터리에서 유래한 샘플들을 허가 조건이 유연한 라이선스를 기반으로 선별하고 수동 검증을 통해 데이터 품질을 확보하기 위해.
  • 장기적 문맥 코드 모델 연구를 가속화하기 위해 오픈소스 평가 도구, HuggingFace Hub에 배포된 데이터셋, 그리고 베이스라인 구현을 제공하기 위해.
  • 복잡한 프로젝트 규모의 코드 처리 작업에 대해 장기적 문맥 LLM의 공정하고 재현 가능한 평가를 가능하게 하기 위해.

제안 방법

  • 데이터 품질과 재사용 가능성을 확보하기 위해 크기, 활동도, 허가 조건이 유연한 라이선스를 기준으로 4,343개의 오픈소스 GitHub 레포지터리에서 필터링하여 벤치마크를 구성한다.
  • 여섯 가지 작업 각각에 대해 소스 코드, 커밋 기록, 이슈, GitHub Actions 로그에서 데이터를 추출하여 실제 개발 환경을 시뮬레이션한다.
  • 특히 커밋 메시지 생성 및 버그 위치 특정과 같은 작업에서 정확성과 관련성을 확보하기 위해 철저한 필터링 및 수동 검증을 적용한다.
  • 대부분의 문장에서 자소문자 사용, 동사 사용 등 품질 기준을 기반으로 한 깊이 학습 분류기(미세튜닝된 CodeBERT)를 사용해 커밋 메시지를 필터링한다.
  • 데이터셋은 HuggingFace Hub에 배포되며 공개 리더보드를 제공하고, 사용자들이 베이스라인 모델을 구현하기 위해 인기 있는 LLM을 활용하여 사용법을 시연한다.
  • 데이터 유출을 방지하기 위해 훈련 세트와 테스트 세트를 분리하고 시간 순서 일致성을 유지하는 평가 환경을 구성한다.

실험 결과

연구 질문

  • RQ1장기적 문맥 코드 모델은 단일 함수나 메서드가 아닌 전체 프로젝트나 모듈의 맥락을 이해하는 데 얼마나 잘 수행할 수 있는가?
  • RQ2기존의 대부분의 벤치마크는 실제 소프트웨어 엔지니어링 워크플로우의 복잡성을 얼마나 잘못 반영하고 있는가?
  • RQ3정교하게 수동으로 검증된 프로젝트 규모의 코드 작업 데이터셋은 모델 평가의 신뢰성과 재현 가능성에 어떤 영향을 미칠 수 있는가?
  • RQ4실제 프로젝트 수준의 벤치마크에서 인기 있는 LLM은 장기적 문맥 코드 작업에서 어떤 성능을 보일 수 있는가?
  • RQ5장기적 문맥 코드 모델을 위한 고품질이고 확장 가능한 벤치마크를 구축하고 유지보수하는 데 있어 핵심 과제는 무엇인가?

주요 결과

  • Long Code Arena 벤치마크는 CI 빌드 복구, 모듈 요약 등 대부분의 기존 벤치마크에 존재하지 않는 프로젝트 전반의 맥락이 필요한 여섯 가지의 고유한 작업을 포함한다.
  • 각 작업당 수동으로 검증된 예시 100~1,000개가 포함된 데이터셋은 허가 조건이 유연한 라이선스를 가진 4,343개의 고품질 오픈소스 레포지터리에서 유래했다.
  • 커밋 메시지 생성 데이터셋의 품질을 향상시키기 위해 CodeBERT 기반의 깊이 학습 분류기를 미세튜닝하여 커밋 메시지 필터링을 수행했다.
  • 벤치마크는 HuggingFace Spaces에 호스팅되어 공개 리더보드를 제공하며, 모든 데이터셋은 HuggingFace Hub에서 커뮤니티가 사용할 수 있도록 공개되어 있다.
  • GitHub에 베이스라인 구현이 제공되어 있으며, 각 작업에 대해 인기 있는 LLM을 활용한 사용 사례를 시연하여 향후 연구의 기준점이 되도록 했다.
  • 데이터셋 구축 과정에서 시간 순서 일치성과 훈련/테스트 세트의 분리를 통해 데이터 유출을 방지했다.

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

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

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

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