GitChameleon: Het ontmaskeren van de versie-wisselende mogelijkheden van codegeneratiemodellen
GitChameleon: Unmasking the Version-Switching Capabilities of Code Generation Models
November 5, 2024
Auteurs: Nizar Islah, Justine Gehring, Diganta Misra, Eilif Muller, Irina Rish, Terry Yue Zhuo, Massimo Caccia
cs.AI
Samenvatting
De snelle evolutie van softwarebibliotheken vormt een aanzienlijke uitdaging voor codegeneratiemodellen, die zich moeten aanpassen aan frequente versie-updates terwijl ze compatibiliteit met eerdere versies behouden. Bestaande codevervolledigingsbenchmarks zien vaak dit dynamische aspect over het hoofd, en degene die dit wel overweegt, vertrouwt op statische codevoorspellingstaken zonder evaluatie op basis van uitvoering, waardoor een beperkt perspectief wordt geboden op de praktische bruikbaarheid van een model. Om deze lacune aan te pakken, introduceren we \GitChameleon{}, een nieuw, handmatig samengesteld dataset bestaande uit 116 Python-codevervolledigingsproblemen, elk afhankelijk van specifieke bibliotheekversies en vergezeld van uitvoerbare unit tests. \GitChameleon{} is ontworpen om de mogelijkheid van moderne grote taalmodellen (LLM's) om versie-specifieke code te genereren die niet alleen syntactisch correct is, maar ook functioneel accuraat bij uitvoering, grondig te beoordelen. Onze uitgebreide evaluaties tonen aan dat toonaangevende LLM's moeite hebben met deze taak; zo behaalt GPT-4o slechts een pass@10 van 39,9\% (43,7\% wanneer voorzien van foutfeedback), waaruit de complexiteit van het probleem en de beperkingen van de huidige modellen blijken. Door een op uitvoering gebaseerde benchmark te bieden die de dynamische aard van codebibliotheken benadrukt, dient \GitChameleon{} als een kritisch instrument om de ontwikkeling van meer aanpasbare en betrouwbare codegeneratiemodellen te bevorderen. Voor verdere verkenning van versie-afhankelijke codegeneratie stellen we onze code-repository openbaar beschikbaar op 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