论文

文档与代码模式:是什么驱动基于 LLM 的异常 Oracle 生成?

Documentation vs. Code Patterns: What Drives LLM-Based Exception Oracle Generation?

模型评测模型行为与机制分析

摘要

基于 LLM 的测试预言机生成 (TOG) 方法报告了异常预言机生成的高精度,但仍不清楚推动这些预测的证据是什么。特别是,模型是否使用显式的异常行为文档(例如 Javadoc @throws 子句),或者它们是否依赖于测试、代码和文档中的重复模式?我们通过对三个 TOG 系统进行大规模基于干预的研究来调查这个问题,这些系统涵盖基于分类器和生成架构,模型大小从大约 110M 到 7B 参数,并根据三个真实世界基准进行评估,其中包括两个生成的测试数据集和一个新的开发人员编写的测试基准。我们首先删除了 Javadoc @throws 子句,发现准确率变化不大,最大降幅低于一个百分点。这表明结构化异常文档并不是异常预言预测的主要驱动力。然后,我们应用归因引导的替代消融来识别预测所依赖的信号。结果表明,快捷信号可以驱动高精度:一些模型对少量结构标记高度敏感,而另一些模型则将依赖分布在许多词汇线索上。这些发现挑战了这样的假设:强大的异常预言准确性反映了异常语义的稳健使用。因此,未来的 TOG 系统不仅应该根据它们是否预测正确的预言类型来评估,还应该根据它们的预测是否基于有意义的异常触发证据来评估。