Command Palette
Search for a command to run...
ACES: Wer testet die Tests? Leave-One-Out AUC-Konsistenz für Code Generation
ACES: Wer testet die Tests? Leave-One-Out AUC-Konsistenz für Code Generation
Hui Sun Yun-Ji Zhang Zheng Xie Ren-Biao Liu Yali Du Xin-Ye Li Ming Li
Zusammenfassung
Die Auswahl von LLM-generierten Code-Kandidaten mithilfe von LLM-generierten Tests ist eine Herausforderung, da die Tests selbst fehlerhaft sein können. Bestehende Methoden behandeln entweder alle Tests gleich oder verlassen sich auf Ad-hoc-Heuristiken, um unzuverlässige Tests zu filtern. Die Bestimmung der Testkorrektheit erfordert jedoch das Wissen darüber, welche Codes korrekt sind, was eine zirkuläre Abhängigkeit (circular dependency) erzeugt. Unsere zentrale Erkenntnis ist, dass wir die Testkorrektheit überhaupt nicht bestimmen müssen: Test-Votes sollten ranken, nicht nur zählen. Entscheidend ist nicht, wie viele Codes einen Test bestehen, sondern ob der Test in der Lage ist, korrekten von inkorrektem Code zu unterscheiden.Wir lösen die zirkuläre Abhängigkeit durch eine Leave-One-Out-Evaluierung: Ein Test wird zurückgehalten, die Codes werden basierend auf ihren aggregierten Scores über alle verbleibenden Tests hinweg gerankt, und es wird gemessen, ob das Pass/Fail-Muster des zurückgehaltenen Tests mit diesem Ranking übereinstimmt. Wir formalisieren diese Übereinstimmung als Leave-One-Out AUC (LOO-AUC) und beweisen, dass der erwartete LOO-AUC proportional zur Fähigkeit jedes Tests ist, korrekten Code von inkorrektem Code zu trennen.Darauf aufbauend schlagen wir ACES (AUC ConsistEncy Scoring) mit zwei komplementären Varianten vor: ACES-C liefert geschlossene Gewichte (closed-form weights), die unter einer moderaten Annahme über die durchschnittliche Testqualität im Erwartungswert nachweislich das Oracle approximieren; ACES-O verzichtet auf diese Annahme und optimiert iterativ eine differenzierbare LOO-AUC-Zielfunktion. Beide Methoden arbeiten ausschließlich auf der binären Pass-Matrix mit vernachlässigbarem Overhead und erreichen State-of-the-Art Pass@k auf mehreren Code-Generation-Benchmarks.