论文
正确的测试还不够:在基于规范的测试生成中测量和训练 Oracle 转换
Correct Tests Are Not Enough: Measuring and Training Oracle Conversion in Specification-Based Test Generation
摘要
从自然语言规范生成测试需要暴露错误行为的输入和正确的预期输出。这些要求不需要一起改进:模型可以通过选择更简单的输入来提高测试正确性,或者发现无法预测其预期输出的有用输入。我们通过可执行奖励分解和套件级预言机转换测量来研究这种相互作用。我们的生成器在一个响应中联合发出五个输入输出测试。在训练期间,经过审计的参考程序提供正确性反馈,而固定的错误程序库提供两个实用信号:潜在的输入终止和检查生成的输出后的有效终止。附加 GRPO 目标保留两个信号,无需在推理时执行。在包含 506 个训练和 142 个评估任务的经过审计的 TC-Bench 拆分中,三个独立训练的 Qwen3.5-9B 在第 75 步运行,将完整测试正确性从 28.59\% 提高到 42.54\%,输入消除从 24.06\% 提高到 25.27\%,有效完全消除从 12.23\% 提高到 14.15\%。匹配的 50 步消融揭示了一种权衡:去除击杀奖励会产生更高的正确性和略高的完全击杀,但会将输入击杀率降低到 21.60%。 64 个训练池任务的固定输入源-oracle 交叉将 NoKill 到 FullKill 的主要差异归因于更难的输入选择,而不是相同输入上更差的输出预测。这些结果将预言机转换确定为可测量的瓶颈,并显示了在联合测试生成中保留输入实用程序反馈的好处和局限性。