GitChameleon : Démasquer les Capacités de Changement de Version des Modèles de Génération de Code
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
Résumé
La rapide évolution des bibliothèques logicielles constitue un défi majeur pour les modèles de génération de code, qui doivent s'adapter aux mises à jour fréquentes des versions tout en maintenant la compatibilité avec les versions précédentes. Les benchmarks existants d'achèvement de code négligent souvent cet aspect dynamique, et celui qui le prend en compte repose sur des tâches statiques de prédiction de code sans évaluation basée sur l'exécution, offrant une perspective limitée sur l'utilisabilité pratique d'un modèle. Pour combler cette lacune, nous présentons \GitChameleon{}, un ensemble de données novateur et manuellement élaboré comprenant 116 problèmes d'achèvement de code Python, chacun conditionné par des versions spécifiques de bibliothèques et accompagné de tests unitaires exécutables. Il est conçu pour évaluer rigoureusement la capacité des modèles de langage de grande taille (LLM) modernes à générer du code spécifique à une version qui soit non seulement syntaxiquement correct, mais aussi fonctionnellement précis lors de l'exécution. Nos évaluations approfondies révèlent que les LLM de pointe peinent avec cette tâche ; par exemple, GPT-4o n'atteint qu'un taux de réussite de 39,9\% (43,7\% avec des retours d'erreur), mettant en évidence la complexité du problème et les limites des modèles actuels. En fournissant un benchmark basé sur l'exécution qui met l'accent sur la nature dynamique des bibliothèques de code, \GitChameleon{} se positionne comme un outil critique pour faire progresser le développement de modèles de génération de code plus adaptables et fiables. Pour faciliter davantage l'exploration de la génération de code conditionnée par la version, nous rendons notre dépôt de code accessible publiquement à l'adresse 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