ACES:谁在测试测试?基于留一法的ROC一致性用于代码生成
机器学习
2026-04-07 v1
摘要
使用LLM生成的测试来选择LLM生成的代码候选方案具有挑战性,因为测试本身可能不正确。现有方法要么对所有测试相等对待,要么依赖于粗糙的启发式方法来过滤不可靠的测试。然而,确定测试的正确性需要知道哪些代码是正确的,这导致了一个“循环依赖”。我们的关键洞察是我们根本不必确定测试的正确性:“测试投票应排序,而不仅仅是计数”。关键在于测试能否“区分”正确代码与错误代码。我们通过留一法评估来打破循环依赖:留出一个测试,对剩余所有测试的聚合分数进行排序,并衡量被留出测试的通过/失败模式是否与此排序一致。我们将这种一致性形式化为留一ROC(LOO-AUC),并证明期望LOO-AUC与测试区分正确代码与错误代码能力成正比。基于此,我们提出了ACES(AUC一致性评分)框架,包含两个互补变体:ACES-C提供闭形式权重,理论上在平均测试质量条件下可近似达到预期效果;ACES-O放弃此假设,迭代优化可微分的LOO-AUC目标。两者仅基于二进制通过矩阵即可实现,开销极小,在多个代码生成基准测试中实现了SOTA的Pass@k性能。
引用
@article{arxiv.2604.03922,
title = {ACES: Who Tests the Tests? Leave-One-Out AUC Consistency for Code Generation},
author = {Hui Sun and Yun-Ji Zhang and Zheng Xie and Ren-Biao Liu and Yali Du and Xin-Ye Li and Ming Li},
journal= {arXiv preprint arXiv:2604.03922},
year = {2026}
}
备注
32 pages, 14 figures, 9 tables