中文

基于神经网络的测试预言生成:大规模评估与经验教训

软件工程 2023-08-29 v2

摘要

定义测试预言对测试开发至关重要且处于核心地位,但人工构建预言代价高昂。尽管近期基于神经网络的自动化测试预言生成技术展现出前景,其真实世界有效性仍是一个亟需进一步探索与理解的引人关注的问题。本文研究了 TOGA 的有效性,TOGA 是 Dinella 等人近期开发的基于神经网络的自动测试预言生成方法。TOGA 利用 EvoSuite 生成的测试输入,并生成异常预言与断言预言。在 Defects4j 研究中,TOGA 优于基于规约、搜索及神经网络的技术,检测出 57 个缺陷,包括 30 个其他方法未检测出的独特缺陷。为深入理解其在真实场景中的适用性,我们对 TOGA 进行了一系列外部、扩展与概念复现研究。在涉及 25 个真实世界 Java 系统、22.35 万个测试用例与 5.1 万个注入故障的大规模研究中,我们评估了 TOGA 相对于当前实践水平与最先进技术在提升故障检测有效性方面的能力。我们发现 TOGA 有 24% 的时间错误分类所需预言类型,且在正确分类约 62% 的时间中,其置信度不足以生成任何断言预言。当其确实生成断言预言时,超过 47% 为误报,且真正断言相对先前工作仅将故障检测率提升 0.3%。这些发现揭示了最先进基于神经网络的预言生成技术的局限,为改进提供了宝贵见解,并为评估未来自动化预言生成方法提供了经验教训。

关键词

引用

@article{arxiv.2307.16023,
  title  = {Neural-Based Test Oracle Generation: A Large-scale Evaluation and Lessons Learned},
  author = {Soneya Binta Hossain and Antonio Filieri and Matthew B. Dwyer and Sebastian Elbaum and Willem Visser},
  journal= {arXiv preprint arXiv:2307.16023},
  year   = {2023}
}