ACES: Wer testet die Tests? Leave-One-Out-AUC-Konsistenz für die Codegenerierung
ACES: Who Tests the Tests? Leave-One-Out AUC Consistency for Code Generation
April 5, 2026
Autoren: Hui Sun, Yun-Ji Zhang, Zheng Xie, Ren-Biao Liu, Yali Du, Xin-Ye Li, Ming Li
cs.AI
Zusammenfassung
Die Auswahl von LLM-generierten Code-Kandidaten mithigenerierten LLM-Tests ist herausfordernd, da die Tests selbst fehlerhaft sein können. Bisherige Methoden behandeln entweder alle Tests gleich oder verlassen sich auf Ad-hoc-Heuristiken, um unzuverlässige Tests herauszufiltern. Die Bestimmung der Testkorrektheit erfordert jedoch die Kenntnis darüber, welcher Code korrekt ist, was eine zirkuläre Abhängigkeit erzeugt. Unsere zentrale Erkenntnis ist, dass wir die Testkorrektheit gar nicht bestimmen müssen: Testabstimmungen sollten rangieren, nicht nur zählen. Entscheidend ist nicht, wie viele Codes einen Test bestehen, sondern ob der Test korrekten von inkorrektem Code unterscheiden kann. Wir durchbrechen die zirkuläre Abhängigkeit mittels Leave-One-Out-Auswertung: Ein Test wird zurückgehalten, Codes werden anhand ihrer aggregierten Scores für alle verbleibenden Tests rangiert, und es wird gemessen, ob das Bestehen-/Durchfallen-Muster des zurückgehaltenen Tests mit dieser Rangordnung übereinstimmt. Wir formalisieren diese Übereinstimmung als Leave-One-Out-AUC (LOO-AUC) und beweisen, dass der erwartete LOO-AUC-Wert proportional zur Fähigkeit jedes Tests ist, korrekten von inkorrektem Code zu trennen. Darauf aufbauend schlagen wir ACES (AUC ConsistEncy Scoring) mit zwei komplementären Varianten vor: ACES-C liefert geschlossene Gewichtungen, die unter einer milden Annahme zur durchschnittlichen Testqualität nachweislich den Oracle-Wert im Erwartungswert approximieren; ACES-O verzichtet auf diese Annahme und optimiert iterativ ein differenzierbares LOO-AUC-Ziel. Beide arbeiten ausschließlich auf der binären Bestehen-Matrix mit vernachlässigbarem Overhead und erzielen state-of-the-art Pass@k auf mehreren Code-Generierungs-Benchmarks.
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.