ACES: ¿Quién Evalúa las Evaluaciones? Consistencia AUC Leave-One-Out para la Generación de Código
ACES: Who Tests the Tests? Leave-One-Out AUC Consistency for Code Generation
April 5, 2026
Autores: Hui Sun, Yun-Ji Zhang, Zheng Xie, Ren-Biao Liu, Yali Du, Xin-Ye Li, Ming Li
cs.AI
Resumen
La selección de candidatos de código generado por LLM utilizando pruebas también generadas por LLM es un desafío, ya que las propias pruebas pueden ser incorrectas. Los métodos existentes o bien tratan todas las pruebas por igual o bien dependen de heurísticas ad-hoc para filtrar las pruebas no fiables. Sin embargo, determinar la corrección de una prueba requiere saber qué códigos son correctos, creando una dependencia circular. Nuestra idea clave es que no es necesario determinar la corrección de la prueba en absoluto: los votos de las pruebas deben clasificar, no solo contar. Lo que importa no es cuántos códigos pasan una prueba, sino si la prueba puede distinguir el código correcto del incorrecto. Rompemos la dependencia circular mediante una evaluación *leave-one-out*: se deja fuera una prueba, se clasifican los códigos por sus puntuaciones agregadas en todas las pruebas restantes, y se mide si el patrón de aprobado/fallo de la prueba excluida concuerda con esta clasificación. Formalizamos esta concordancia como el AUC *leave-one-out* (LOO-AUC) y demostramos que el LOO-AUC esperado es proporcional a la capacidad de cada prueba para separar el código correcto del incorrecto. Basándonos en esto, proponemos ACES (AUC ConsistEncy Scoring) con dos variantes complementarias: ACES-C proporciona pesos de forma cerrada que, bajo una suposición leve sobre la calidad promedio de las pruebas, se aproximan probadamente al oráculo en expectativa; ACES-O prescinde de esta suposición y optimiza iterativamente un objetivo LOO-AUC diferenciable. Ambas operan únicamente sobre la matriz binaria de aprobados con una sobrecarga negligible y logran un estado del arte en Pass@k en múltiples benchmarks de generación de código.
English
Selecting LLM-generated code candidates using LLM-generated tests is challenging because the tests themselves may be incorrect. Existing methods either treat all tests equally or rely on ad-hoc heuristics to filter unreliable tests. Yet determining test correctness requires knowing which codes are correct, creating a circular dependency. Our key insight is that we need not determine test correctness at all: test votes should rank, not merely count. What matters is not how many codes pass a test, but whether the test can distinguish correct from incorrect code. We break the circular dependency via leave-one-out evaluation: hold out one test, rank codes by their aggregate scores on all remaining tests, and measure whether the held-out test's pass/fail pattern agrees with this ranking. We formalize this agreement as the leave-one-out AUC~(LOO-AUC) and prove that the expected LOO-AUC is proportional to each test's ability to separate correct code from incorrect code. Building on this, we propose ACES~(AUC ConsistEncy Scoring) with two complementary variants: ACES-C provides closed-form weights that provably approximate the oracle in expectation under a mild assumption on average test quality; ACES-O drops this assumption and iteratively optimizes a differentiable LOO-AUC objective. Both operate solely on the binary pass matrix with negligible overhead, and achieve state-of-the-art Pass@k on multiple code generation benchmarks.