COMET:面向深度学习库测试的覆盖引导模型生成
软件工程
2024-06-14 v2 人工智能
摘要
近期的深度学习(DL)应用大多构建于 DL 库之上。这些库的质量保证对于 DL 应用的可靠部署至关重要。已有技术被提出用于生成各种 DL 模型并将其应用于测试这些库。然而,它们的测试有效性受到所生成 DL 模型中层 API 调用的多样性的限制。我们的研究表明,这些技术至多覆盖 34.1% 的层输入、25.9% 的层参数值和 15.6% 的层序列。因此,我们发现现有技术可能遗漏许多由特定层 API 调用(即特定层输入、参数值或层序列)引起的缺陷。由于这一局限,我们提出 COMET 以有效生成具有多样化层 API 调用的 DL 模型用于 DL 库测试。COMET:(1)设计了一组变异算子和基于覆盖的搜索算法,以使 DL 模型中的层输入、层参数值和层序列多样化。(2)提出了一种模型合成方法,在不损害层 API 调用多样性的前提下提升测试效率。我们的评估结果表明,COMET 优于基线方法,其覆盖的层输入(69.7% 对比 34.1%)、层参数值(50.2% 对比 25.9%)和层序列(39.0% 对比 15.6%)均为当前最优技术的两倍。此外,COMET 比现有技术多覆盖 3.4% 的库分支。最后,COMET 在八个流行 DL 库的最新版本中检测到 32 个新缺陷,包括 TensorFlow 和 MXNet,其中 21 个被 DL 库开发者确认,且这 7 个已确认的缺陷已被开发者修复。
引用
@article{arxiv.2208.01508,
title = {COMET: Coverage-guided Model Generation For Deep Learning Library Testing},
author = {Meiziniu Li and Jialun Cao and Yongqiang Tian and Tsz On Li and Ming Wen and Shing-Chi Cheung},
journal= {arXiv preprint arXiv:2208.01508},
year = {2024}
}
备注
34 pages, 12 figures