ChatPaper.aiChatPaper

ACES: Quem Testa os Testes? Consistência AUC Leave-One-Out para Geração 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

Resumo

A seleção de candidatos de código gerado por LLM usando testes gerados por LLM é desafiadora porque os próprios testes podem estar incorretos. Os métodos existentes ou tratam todos os testes igualmente ou dependem de heurísticas ad-hoc para filtrar testes não confiáveis. No entanto, determinar a correção dos testes requer saber quais códigos estão corretos, criando uma dependência circular. Nossa principal percepção é que não precisamos determinar a correção do teste: os votos dos testes devem classificar, não apenas contar. O que importa não é quantos códigos passam em um teste, mas se o teste consegue distinguir o código correto do incorreto. Quebramos a dependência circular através da avaliação leave-one-out: retira-se um teste, classifica-se os códigos pelos seus scores agregados em todos os testes restantes e mede-se se o padrão de aprovação/reprovação do teste retirado concorda com esta classificação. Formalizamos este acordo como a AUC leave-one-out (LOO-AUC) e provamos que a LOO-AUC esperada é proporcional à capacidade de cada teste de separar código correto de incorreto. Com base nisto, propomos o ACES (AUC ConsistEncy Scoring) com duas variantes complementares: o ACES-C fornece pesos de forma fechada que comprovadamente aproximam o oráculo em expectativa sob uma suposição branda sobre a qualidade média do teste; o ACES-O descarta esta suposição e otimiza iterativamente um objetivo LOO-AUC diferenciável. Ambos operam apenas na matriz binária de aprovação com sobrecarga insignificante e alcançam o estado da arte em Pass@k em múltiplos benchmarks de geração 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.
PDF463April 9, 2026