- 简介测试是现代软件工程中构建可靠程序的重要组成部分。由于测试软件很重要但代价很高,因此自动测试用例生成方法在软件开发中变得流行。与传统的基于搜索的覆盖率引导测试生成(例如模糊测试)不同,由大型语言模型支持的神经测试生成可以编写有语义意义的测试,并且可以被其他维护者理解。然而,与常规代码语料库相比,数据集中的单元测试数量和多样性都有限。在本文中,我们提出了一种新颖的数据增强技术FuzzAug,它结合了模糊测试和大型语言模型的优点。FuzzAug不仅在增强数据中保持有效的程序语义,而且为被测试的函数提供了更多样化的输入,帮助模型将嵌入函数动态行为的正确输入与被测试函数相关联。我们通过将FuzzAug用于神经测试生成数据集来评估其效益,以训练最先进的代码生成模型。通过增强训练集,我们的模型生成的测试用例的准确性提高了11%。使用FuzzAug训练的模型生成的单元测试函数的分支覆盖率是没有使用FuzzAug训练的模型的两倍。FuzzAug可以在各种数据集中使用,以训练高级代码生成模型,增强它们在自动化软件测试中的实用性。我们的工作展示了使用动态分析结果增强神经测试生成的好处。代码和数据将公开发布。
-
- 图表
- 解决问题提出一种新的数据增强技术FuzzAug,用于增加神经测试生成数据集的多样性和数量,以提高自动化软件测试的效率。
- 关键思路FuzzAug将模糊测试和大型语言模型相结合,生成具有语义意义的测试数据,并使用动态分析结果来增强神经测试生成模型的效果。
- 其它亮点论文使用FuzzAug增强了神经测试生成数据集,使模型生成的测试用例的准确性提高了11%,覆盖分支比没有使用FuzzAug的模型高出一倍。FuzzAug可以用于各种数据集,以提高高级代码生成模型的实用性。论文提供了开源代码和数据。
- 最近的相关研究包括:1.基于深度学习的测试用例生成方法;2.使用模糊测试生成测试用例的方法;3.使用动态分析来增强代码生成模型的方法。
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流