DevEval : Un benchmark de génération de code annoté manuellement et aligné avec des dépôts de code du monde réel
DevEval: A Manually-Annotated Code Generation Benchmark Aligned with Real-World Code Repositories
May 30, 2024
papers.authors: Jia Li, Ge Li, Yunfei Zhao, Yongmin Li, Huanyu Liu, Hao Zhu, Lecheng Wang, Kaibo Liu, Zheng Fang, Lanshen Wang, Jiazheng Ding, Xuanming Zhang, Yuqi Zhu, Yihong Dong, Zhi Jin, Binhua Li, Fei Huang, Yongbin Li
cs.AI
papers.abstract
La question de savoir comment évaluer les capacités de codage des grands modèles de langage (LLMs) reste ouverte. Nous constatons que les benchmarks existants sont mal alignés avec les dépôts de code du monde réel et sont insuffisants pour évaluer les capacités de codage des LLMs.
Pour combler cette lacune, nous proposons un nouveau benchmark nommé DevEval, qui présente trois avancées. (1) DevEval s'aligne sur les dépôts réels à plusieurs niveaux, par exemple en termes de distributions de code et de dépendances. (2) DevEval est annoté par 13 développeurs et contient des annotations complètes (par exemple, exigences, dépôts d'origine, code de référence et dépendances de référence). (3) DevEval comprend 1 874 échantillons de test provenant de 117 dépôts, couvrant 10 domaines populaires (par exemple, Internet, bases de données). Sur la base de DevEval, nous proposons une génération de code au niveau du dépôt et évaluons 8 LLMs populaires sur DevEval (par exemple, gpt-4, gpt-3.5, StarCoder 2, DeepSeek Coder, CodeLLaMa). Nos expériences révèlent les capacités de codage de ces LLMs dans des dépôts de code réels. Par exemple, dans nos expériences, le Pass@1 le plus élevé de gpt-4-turbo n'est que de 53,04 %. Nous analysons également les cas d'échec des LLMs et résumons leurs lacunes. Nous espérons que DevEval pourra faciliter le développement des LLMs dans des dépôts de code réels. DevEval, les prompts et les prédictions des LLMs ont été rendus publics.
English
How to evaluate the coding abilities of Large Language Models (LLMs) remains
an open question. We find that existing benchmarks are poorly aligned with
real-world code repositories and are insufficient to evaluate the coding
abilities of LLMs.
To address the knowledge gap, we propose a new benchmark named DevEval, which
has three advances. (1) DevEval aligns with real-world repositories in multiple
dimensions, e.g., code distributions and dependency distributions. (2) DevEval
is annotated by 13 developers and contains comprehensive annotations (e.g.,
requirements, original repositories, reference code, and reference
dependencies). (3) DevEval comprises 1,874 testing samples from 117
repositories, covering 10 popular domains (e.g., Internet, Database). Based on
DevEval, we propose repository-level code generation and evaluate 8 popular
LLMs on DevEval (e.g., gpt-4, gpt-3.5, StarCoder 2, DeepSeek Coder, CodeLLaMa).
Our experiments reveal these LLMs' coding abilities in real-world code
repositories. For example, in our experiments, the highest Pass@1 of
gpt-4-turbo is only 53.04%. We also analyze LLMs' failed cases and summarize
their shortcomings. We hope DevEval can facilitate the development of LLMs in
real code repositories. DevEval, prompts, and LLMs' predictions have been
released.