中文

GitChameleon:揭示代码生成模型的版本切换能力

软件工程 2024-11-12 v1 机器学习

摘要

软件库的快速演进对代码生成模型提出了重大挑战,这些模型必须在适应频繁版本更新的同时保持与先前版本的兼容性。现有的代码补全基准往往忽略了这一动态方面,而唯一考虑该方面的基准依赖于静态代码预测任务,缺乏基于执行的评估,从而对模型的实际可用性提供了有限的视角。为填补这一空白,我们引入了\textbf{\GitChameleon{}},一个新颖的、人工策划的数据集,包含116个Python代码补全问题,每个问题均以特定库版本为条件,并配有可执行单元测试。\GitChameleon{}旨在严格评估现代大型语言模型(LLM)生成不仅语法正确而且在执行时功能准确的版本特定代码的能力。我们的综合评估揭示,最先进的LLM在此任务上表现不佳;例如,\textbf{GPT-4o}的pass@10仅为39.9%(在提供错误反馈的情况下为43.7%),凸显了该问题的复杂性和当前模型的局限性。通过提供一个强调代码库动态特性的基于执行的基准,\GitChameleon{}是推动开发更具适应性和可靠性的代码生成模型的关键工具。为便于进一步探索版本条件代码生成,我们公开了代码仓库,地址为\url{https://github.com/NizarIslah/GitChameleon}。

关键词

引用

@article{arxiv.2411.05830,
  title  = {GitChameleon: Unmasking the Version-Switching Capabilities of Code Generation Models},
  author = {Nizar Islah and Justine Gehring and Diganta Misra and Eilif Muller and Irina Rish and Terry Yue Zhuo and Massimo Caccia},
  journal= {arXiv preprint arXiv:2411.05830},
  year   = {2024}
}