TOGLL:基于大语言模型的正确且强大的测试 oracle 生成
软件工程
2025-08-08 v2
摘要
测试 oracle 在软件测试中扮演着关键角色,能够有效地检测错误。尽管最初的神经基方法在自动化测试 oracle 生成方面显示出前景,但仍会导致大量的假阳性结果和较弱的测试 oracle。尽管大语言模型在各种软件工程任务中,包括代码生成、测试用例创建和错误修复,都显示出令人印象深刻的效果,但仍缺乏对其在测试 oracle 生成方面能力的大规模研究。关于大语言模型是否能够解决有效 oracle 生成中的挑战,这是一个引人入胜的问题,需要彻底调查。在本研究中,我们提出了首个综合性研究,探讨大语言模型在生成正确、多样且强大的测试 oracle方面的能力,这些 oracle 能够有效地识别大量唯一的错误。为此,我们在 SF110 数据集上使用六个不同的提示对七个代码大语言模型进行微调。利用最有效的微调模型和提示组合,我们引入了 TOGLL,这是一种新颖的基于大语言模型的方法,用于测试 oracle 生成。为调查 TOGLL 的通用性,我们在 25 个大型 Java 项目上进行了研究。除了评估正确性之外,我们还评估了生成 oracle 的多样性和强度。我们将结果与 EvoSuite 和最新神经方法 TOGA 进行了比较。我们的发现表明,TOGLL 可以产生 3.8 倍更多正确的断言 oracle 和 4.9 倍更多异常 oracle。此外,我们的发现表明,TOGLL 能够生成显著多样的测试 oracle。它能够检测到 EvoSuite 无法检测的 1,023 个唯一错误,这是前一次基于神经的 SOTA 方法 TOGA 能检测的十倍。
关键词
引用
@article{arxiv.2405.03786,
title = {TOGLL: Correct and Strong Test Oracle Generation with LLMs},
author = {Soneya Binta Hossain and Matthew Dwyer},
journal= {arXiv preprint arXiv:2405.03786},
year = {2025}
}