GitChameleon: Unmasking the Version-Switching Capabilities of Code Generation Models

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Islah, Nizar, Gehring, Justine, Misra, Diganta, Muller, Eilif, Rish, Irina, Zhuo, Terry Yue, Caccia, Massimo
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866909382203146240
author Islah, Nizar
Gehring, Justine
Misra, Diganta
Muller, Eilif
Rish, Irina
Zhuo, Terry Yue
Caccia, Massimo
author_facet Islah, Nizar
Gehring, Justine
Misra, Diganta
Muller, Eilif
Rish, Irina
Zhuo, Terry Yue
Caccia, Massimo
contents 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 \textbf{\GitChameleon{}}, a novel, manually curated dataset comprising 116 Python code completion problems, each conditioned on specific library versions and accompanied by executable unit tests. \GitChameleon{} 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, \textbf{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, \GitChameleon{} 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 \url{https://github.com/NizarIslah/GitChameleon}.
format Preprint
id arxiv_https___arxiv_org_abs_2411_05830
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle GitChameleon: Unmasking the Version-Switching Capabilities of Code Generation Models
Islah, Nizar
Gehring, Justine
Misra, Diganta
Muller, Eilif
Rish, Irina
Zhuo, Terry Yue
Caccia, Massimo
Software Engineering
Machine Learning
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 \textbf{\GitChameleon{}}, a novel, manually curated dataset comprising 116 Python code completion problems, each conditioned on specific library versions and accompanied by executable unit tests. \GitChameleon{} 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, \textbf{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, \GitChameleon{} 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 \url{https://github.com/NizarIslah/GitChameleon}.
title GitChameleon: Unmasking the Version-Switching Capabilities of Code Generation Models
topic Software Engineering
Machine Learning
url https://arxiv.org/abs/2411.05830