ChatPaper.aiChatPaper

TENET: Aprovechamiento de Pruebas Más Allá de la Validación para la Generación de Código

TENET: Leveraging Tests Beyond Validation for Code Generation

September 29, 2025
Autores: Yiran Hu, Nan Jiang, Shanchao Liang, Yi Wu, Lin Tan
cs.AI

Resumen

El Desarrollo Guiado por Pruebas (TDD, por sus siglas en inglés) es una práctica ampliamente adoptada en la ingeniería de software que requiere que los desarrolladores creen y ejecuten pruebas junto con la implementación del código, asegurando que el comportamiento del software sea validado y refinado de manera continua. En la era de la codificación intuitiva, donde los desarrolladores delegan cada vez más la escritura de código a modelos de lenguaje de gran escala (LLMs) especificando intenciones de alto nivel, el TDD se vuelve aún más crucial, ya que los casos de prueba sirven como especificaciones ejecutables que definen y verifican explícitamente la funcionalidad prevista, más allá de lo que las descripciones en lenguaje natural y el contexto del código pueden transmitir. Aunque la codificación intuitiva bajo TDD es prometedora, existen tres desafíos principales: (1) seleccionar un conjunto de pruebas pequeño pero efectivo para mejorar la precisión de la generación y controlar la carga de ejecución, (2) recuperar contexto, como código relevante, de manera eficiente, y (3) utilizar sistemáticamente la retroalimentación de las pruebas para un refinamiento efectivo del código. Para abordar estos desafíos, presentamos TENET, un agente LLM para generar funciones en repositorios complejos del mundo real bajo el entorno TDD. TENET cuenta con tres componentes: (1) un mecanismo novedoso de arnés de pruebas que selecciona un conjunto de pruebas conciso para maximizar la diversidad de escenarios de uso objetivo; (2) un conjunto de herramientas de agente personalizado que realiza una recuperación eficiente de código relevante con depuración interactiva; y (3) un flujo de trabajo de refinamiento basado en reflexión que analiza iterativamente los fallos, complementa el contexto y aplica el refinamiento del código. TENET logra un 69.08% y un 81.77% en Pass@1 en los puntos de referencia RepoCod y RepoEval, superando a los mejores agentes de referencia en 9.49 y 2.17 puntos porcentuales, respectivamente. Además, este es el primer estudio sobre generación de código guiada por pruebas con contexto a nivel de repositorio, examinando cómo diferentes aspectos de los conjuntos de pruebas afectan el rendimiento de los agentes LLM bajo el entorno TDD.
English
Test-Driven Development (TDD) is a widely adopted software engineering practice that requires developers to create and execute tests alongside code implementation, ensuring that software behavior is continuously validated and refined. In the era of vibe coding, where developers increasingly delegate code writing to large language models (LLMs) by specifying high-level intentions, TDD becomes even more crucial, as test cases serve as executable specifications that explicitly define and verify intended functionality beyond what natural-language descriptions and code context can convey. While vibe coding under TDD is promising, there are three main challenges: (1) selecting a small yet effective test suite to improve the generation accuracy and control the execution workload, (2) retrieving context such as relevant code effectively, and (3) systematically using test feedback for effective code refinement. To address these challenges, we introduce TENET, an LLM agent for generating functions in complex real-world repositories under the TDD setting. TENET features three components: (1) a novel test harness mechanism that selects a concise test suite to maximize diversity of target usage scenarios; (2) a tailored agent toolset that performs efficient retrieval of relevant code with interactive debugging; and (3) a reflection-based refinement workflow that iteratively analyzes failures, replenishes context, and applies code refinement. TENET achieves 69.08% and 81.77% Pass@1 on RepoCod and RepoEval benchmarks, outperforming the best agentic baselines by 9.49 and 2.17 percentage points, respectively. In addition, this is the first study of test-driven code generation with repository-level context, examining how different aspects of test suites affect the performance of LLM agents under the TDD setting.
PDF22September 30, 2025