GitChameleon: 코드 생성 모델의 버전 전환 능력 노출
GitChameleon: Unmasking the Version-Switching Capabilities of Code Generation Models
November 5, 2024
저자: Nizar Islah, Justine Gehring, Diganta Misra, Eilif Muller, Irina Rish, Terry Yue Zhuo, Massimo Caccia
cs.AI
초록
소프트웨어 라이브러리의 신속한 진화는 코드 생성 모델에 상당한 도전을 제시합니다. 이 모델들은 이전 버전과의 호환성을 유지하면서 빈번한 버전 업데이트에 적응해야 합니다. 기존의 코드 완성 벤치마크는 종종 이러한 동적 측면을 간과하며, 이를 고려하는 하나의 벤치마크는 실행 기반 평가 없이 정적 코드 예측 작업에 의존하여 모델의 실용성에 대한 제한된 시각을 제공합니다. 이 간극을 해결하기 위해 우리는 \GitChameleon{}을 소개합니다. 이는 새롭고 수동으로 선별된 데이터셋으로, 각각이 특정 라이브러리 버전에 의존하고 실행 가능한 단위 테스트가 함께 제공되는 116가지 Python 코드 완성 문제로 구성되어 있습니다. 이는 현대 대규모 언어 모델(LLMs)이 버전별로 구체적이면서 문법적으로 올바르며 실행 시 기능적으로 정확한 코드를 생성하는 능력을 엄격하게 평가하기 위해 설계되었습니다. 우리의 포괄적인 평가 결과는 최첨단 LLMs가 이 작업에 어려움을 겪는다는 것을 보여줍니다. 예를 들어, GPT-4o는 pass@10이 39.9\%(오류 피드백을 제공할 경우 43.7\%)에 불과하며, 이는 문제의 복잡성과 현재 모델의 한계를 강조합니다. 코드 라이브러리의 동적 성격을 강조하는 실행 기반 벤치마크를 제공함으로써, 이는 더 적응 가능하고 신뢰할 수 있는 코드 생성 모델의 발전을 위한 중요한 도구 역할을 합니다. 버전 조건부 코드 생성의 추가 탐구를 위해, 우리의 코드 저장소는 https://github.com/NizarIslah/GitChameleon에서 공개적으로 접근 가능합니다.
English
The rapid evolution of software libraries presents a significant challenge
for code generation models, which must adapt to frequent version updates while
maintaining compatibility with previous versions. Existing code completion
benchmarks often overlook this dynamic aspect, and the one that does consider
it relies on static code prediction tasks without execution-based evaluation,
offering a limited perspective on a model's practical usability. To address
this gap, we introduce \GitChameleon{}, a novel, manually curated
dataset comprising 116 Python code completion problems, each conditioned on
specific library versions and accompanied by executable unit tests.
is designed to rigorously assess the ability of modern large
language models (LLMs) to generate version-specific code that is not only
syntactically correct but also functionally accurate upon execution. Our
comprehensive evaluations reveal that state-of-the-art LLMs struggle with this
task; for instance, GPT-4o achieves a pass@10 of only 39.9\% (43.7\%
when provided with error feedback), highlighting the complexity of the problem
and the limitations of current models. By providing an execution-based
benchmark that emphasizes the dynamic nature of code libraries,
serves as a critical tool to advance the development of more adaptable and
reliable code generation models. For facilitation for further exploration of
version-conditioned code generation, we make our code repository publicly
accessible at https://github.com/NizarIslah/GitChameleon.Summary
AI-Generated Summary