SEAICLJan 12, 2024

DevEval: Evaluating Code Generation in Practical Software Projects

Peking U
arXiv:2401.06401v419 citationsh-index: 28Has Code
Originality Synthesis-oriented
AI Analysis

This addresses the need for better evaluation benchmarks in code generation for developers, though it is incremental as it builds on existing benchmarking efforts.

The authors tackled the problem of evaluating large language models for code generation by proposing DevEval, a new benchmark aligned with practical software projects, which revealed that models like GPT-3.5-turbo achieved only a 42 Pass@1 score.

How to evaluate Large Language Models (LLMs) in code generation is an open question. Many benchmarks have been proposed but are inconsistent with practical software projects, e.g., unreal program distributions, insufficient dependencies, and small-scale project contexts. Thus, the capabilities of LLMs in practical projects are still unclear. In this paper, we propose a new benchmark named DevEval, aligned with Developers' experiences in practical projects. DevEval is collected through a rigorous pipeline, containing 2,690 samples from 119 practical projects and covering 10 domains. Compared to previous benchmarks, DevEval aligns to practical projects in multiple dimensions, e.g., real program distributions, sufficient dependencies, and enough-scale project contexts. We assess five popular LLMs on DevEval (e.g., gpt-4, gpt-3.5-turbo, CodeLLaMa, and StarCoder) and reveal their actual abilities in code generation. For instance, the highest Pass@1 of gpt-3.5-turbo only is 42 in our experiments. We also discuss the challenges and future directions of code generation in practical projects. We open-source DevEval and hope it can facilitate the development of code generation in practical projects.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes