ChatPaper.aiChatPaper

FEA-Bench: Un punto de referencia para evaluar la generación de código a nivel de repositorio para la implementación de funcionalidades

FEA-Bench: A Benchmark for Evaluating Repository-Level Code Generation for Feature Implementation

March 9, 2025
Autores: Wei Li, Xin Zhang, Zhongxin Guo, Shaoguang Mao, Wen Luo, Guangyue Peng, Yangyu Huang, Houfeng Wang, Scarlett Li
cs.AI

Resumen

La implementación de nuevas funcionalidades en bases de código a nivel de repositorio es una aplicación crucial de los modelos de generación de código. Sin embargo, los puntos de referencia actuales carecen de un marco de evaluación dedicado para esta capacidad. Para llenar este vacío, presentamos FEA-Bench, un punto de referencia diseñado para evaluar la capacidad de los modelos de lenguaje de gran escala (LLMs, por sus siglas en inglés) para realizar desarrollo incremental dentro de repositorios de código. Recopilamos solicitudes de extracción (pull requests) de 83 repositorios de GitHub y utilizamos filtrado basado en reglas e intenciones para construir instancias de tareas centradas en el desarrollo de nuevas funcionalidades. Cada instancia de tarea que contiene cambios de código se empareja con archivos de pruebas unitarias relevantes para garantizar que la solución pueda ser verificada. La implementación de la funcionalidad requiere que los LLMs posean simultáneamente capacidades de completado de código para nuevos componentes y habilidades de edición de código para otras partes relevantes en el repositorio, proporcionando un método de evaluación más completo de las capacidades de ingeniería de software automatizada de los LLMs. Los resultados experimentales muestran que los LLMs tienen un desempeño significativamente peor en FEA-Bench, destacando desafíos considerables en este tipo de desarrollo incremental de código a nivel de repositorio.
English
Implementing new features in repository-level codebases is a crucial application of code generation models. However, current benchmarks lack a dedicated evaluation framework for this capability. To fill this gap, we introduce FEA-Bench, a benchmark designed to assess the ability of large language models (LLMs) to perform incremental development within code repositories. We collect pull requests from 83 GitHub repositories and use rule-based and intent-based filtering to construct task instances focused on new feature development. Each task instance containing code changes is paired with relevant unit test files to ensure that the solution can be verified. The feature implementation requires LLMs to simultaneously possess code completion capabilities for new components and code editing abilities for other relevant parts in the code repository, providing a more comprehensive evaluation method of LLMs' automated software engineering capabilities. Experimental results show that LLMs perform significantly worse in the FEA-Bench, highlighting considerable challenges in such repository-level incremental code development.

Summary

AI-Generated Summary

PDF207March 11, 2025