ChatPaper.aiChatPaper

ACES: Кто тестирует тесты? Согласованность AUC с исключением по одному для генерации кода

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

April 5, 2026
Авторы: Hui Sun, Yun-Ji Zhang, Zheng Xie, Ren-Biao Liu, Yali Du, Xin-Ye Li, Ming Li
cs.AI

Аннотация

Отбор кандидатов в виде кода, сгенерированного большими языковыми моделями (LLM), с использованием тестов, также сгенерированных LLM, является сложной задачей, поскольку сами тесты могут быть некорректными. Существующие методы либо рассматривают все тесты как равнозначные, либо полагаются на эвристики для фильтрации ненадежных тестов. Однако определение корректности теста требует знания того, какие коды являются правильными, что создает циклическую зависимость. Наше ключевое наблюдение заключается в том, что нам вообще не нужно определять корректность тестов: голоса тестов должны ранжировать, а не просто подсчитывать. Важно не то, сколько кодов проходит тест, а то, может ли тест отличить правильный код от неправильного. Мы разрываем циклическую зависимость с помощью оценки «один-выбыл» (leave-one-out): исключаем один тест, ранжируем коды по их совокупным оценкам на всех оставшихся тестах и измеряем, согласуется ли картина прохождения/непрохождения исключенного теста с этим ранжированием. Мы формализуем это согласие как AUC «один-выбыл» (LOO-AUC) и доказываем, что математическое ожидание LOO-AUC пропорционально способности каждого теста отделять правильный код от неправильного. На основе этого мы предлагаем метод ACES (AUC ConsistEncy Scoring) с двумя взаимодополняющими вариантами: ACES-C предоставляет веса в замкнутой форме, которые при слабом предположении о среднем качестве тестов аппроксимируют oracle в среднем; ACES-O отказывается от этого предположения и итеративно оптимизирует дифференцируемую целевую функцию LOO-AUC. Оба метода работают исключительно с бинарной матрицей прохождения тестов с пренебрежимо малыми накладными расходами и достигают state-of-the-art результатов по метрике Pass@k на нескольких бенчмарках генерации кода.
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