ChatPaper.aiChatPaper

REPOEXEC: Evaluación de Generación de Código con un Benchmark Ejecutable a Nivel de Repositorio

REPOEXEC: Evaluate Code Generation with a Repository-Level Executable Benchmark

June 17, 2024
Autores: Nam Le Hai, Dung Manh Nguyen, Nghi D. Q. Bui
cs.AI

Resumen

La capacidad de los CodeLLMs para generar código ejecutable y funcionalmente correcto a escala de repositorio sigue siendo en gran medida inexplorada. Presentamos RepoExec, un nuevo punto de referencia para evaluar la generación de código a escala de repositorio. RepoExec se centra en tres aspectos principales: la capacidad de ejecución, la corrección funcional mediante la generación automatizada de casos de prueba con una alta tasa de cobertura, y contextos cuidadosamente diseñados entre archivos para generar código con precisión. Nuestro trabajo explora un escenario controlado en el que los desarrolladores especifican las dependencias de código necesarias, desafiando al modelo a integrarlas con precisión. Los experimentos muestran que, aunque los LLMs preentrenados superan a los modelos ajustados por instrucciones en cuanto a corrección, estos últimos sobresalen en la utilización de las dependencias proporcionadas y en la demostración de capacidades de depuración. También presentamos un nuevo conjunto de datos ajustado por instrucciones que se centra en las dependencias de código y demostramos que los CodeLLMs afinados con nuestro conjunto de datos tienen una mejor capacidad para aprovechar estas dependencias de manera efectiva. RepoExec tiene como objetivo proporcionar una evaluación integral de la funcionalidad del código y su alineación con la intención del desarrollador, allanando el camino para CodeLLMs más confiables y aplicables en escenarios del mundo real. El conjunto de datos y el código fuente se pueden encontrar en~https://github.com/FSoft-AI4Code/RepoExec.
English
The ability of CodeLLMs to generate executable and functionally correct code at the repository-level scale remains largely unexplored. We introduce RepoExec, a novel benchmark for evaluating code generation at the repository-level scale. RepoExec focuses on three main aspects: executability, functional correctness through automated test case generation with high coverage rate, and carefully crafted cross-file contexts to accurately generate code. Our work explores a controlled scenario where developers specify necessary code dependencies, challenging the model to integrate these accurately. Experiments show that while pretrained LLMs outperform instruction-tuned models in correctness, the latter excel in utilizing provided dependencies and demonstrating debugging capabilities. We also introduce a new instruction-tuned dataset that focuses on code dependencies and demonstrate that CodeLLMs fine-tuned on our dataset have a better capability to leverage these dependencies effectively. RepoExec aims to provide a comprehensive evaluation of code functionality and alignment with developer intent, paving the way for more reliable and applicable CodeLLMs in real-world scenarios. The dataset and source code can be found at~https://github.com/FSoft-AI4Code/RepoExec.

Summary

AI-Generated Summary

PDF111December 2, 2024