ChatPaper.aiChatPaper

ACES: Wie test de tests? Leave-One-Out AUC-consistentie voor codegeneratie

ACES: Who Tests the Tests? Leave-One-Out AUC Consistency for Code Generation

April 5, 2026
Auteurs: Hui Sun, Yun-Ji Zhang, Zheng Xie, Ren-Biao Liu, Yali Du, Xin-Ye Li, Ming Li
cs.AI

Samenvatting

Het selecteren van LLM-gegenereerde codekandidaten met behulp van LLM-gegenereerde tests is uitdagend omdat de tests zelf onjuist kunnen zijn. Bestaande methoden behandelen alle tests gelijkelijk of vertrouwen op ad-hoc heuristieken om onbetrouwbare tests te filteren. Maar het bepalen van de juistheid van een test vereist kennis over welke codes correct zijn, wat een circulaire afhankelijkheid creëert. Onze belangrijkste inzicht is dat we de juistheid van tests helemaal niet hoeven te bepalen: teststemmen moeten rangschikken, niet slechts tellen. Wat telt is niet hoeveel codes een test doorstaan, maar of de test correcte van incorrecte code kan onderscheiden. Wij doorbreken de circulaire afhankelijkheid via leave-one-out-evaluatie: houd één test buiten beschouwing, rangschik codes op basis van hun geaggregeerde scores op alle overige tests, en meet of het pass/fail-patroon van de weggelaten test overeenkomt met deze rangschikking. We formaliseren deze overeenkomst als de leave-one-out AUC (LOO-AUC) en bewijzen dat de verwachte LOO-AUC evenredig is aan het vermogen van elke test om correcte van incorrecte code te scheiden. Hierop voortbordurend stellen we ACES (AUC ConsistEncy Scoring) voor met twee complementaire varianten: ACES-C biedt gesloten-formule gewichten die onder een milde aanname over de gemiddelde testkwaliteit verwachtingsgewijs de orakelbenadering benaderen; ACES-O laat deze aanname vallen en optimaliseert iteratief een differentieerbaar LOO-AUC-doel. Beide werken uitsluitend op de binaire pass-matrix met verwaarloosbare overhead en behalen state-of-the-art Pass@k op meerdere codegeneratiebenchmarks.
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