论文

从业务需求到测试断言:根据实际错误评估 LLM 生成的 Oracle

From Business Requirements to Test Assertions: Evaluating LLM-Generated Oracles on Real Bugs

模型评测模型能力评测

摘要

预言机问题(确定测试的正确预期结果)仍然是自动化测试的主要瓶颈,并且随着非专家依赖人工智能生成的代码而变得越来越重要,他们无法可靠地验证。我们研究 大语言模型 (LLM) 是否可以直接从自然语言业务需求生成可泛化的测试预言,而无需访问源代码或示例输入输出对。我们提出了一个以 Defects4J 为基础的可重复的、需求驱动的管道。对于 Defects4J Lang 中的 10 个真实错误(错误 1 和 3-11)中的每一个,我们 (i) 通过错误/固定差异提取行为更改,(ii) 手动将更改转换为业务需求,(iii) 构建需求衍生预言机 (REQ) 作为标准参照,以及 (iv) 提示 5 个 LLM(DeepSeek-V3、Gemma-3n、Llama-3、 Mistral-7B 和 Qwen-3) 生成 Java oracle 代码。我们根据两个目标评估预言机的正确性和泛化性:与 REQ 一致和与被测系统 (SUT) 一致,报告宏观平均准确度、精确度、召回率和 F1。 LLM 实现了不平凡的泛化,但具有很大的错误和模型级别差异。生成的预言机与 REQ 比与 SUT 更加一致,并且需求技术性/模糊性评级与预言机准确性之间的相关性较弱,且置信区间较宽。该数据集中的需求属性和预言机准确性之间不存在可检测的线性关系,这表明预训练覆盖范围和所需行为的语义特异性主导着预言机的正确性。作为概念的试点验证,这些发现是初步的,旨在建立可行性并激发更大规模的实证研究。