Skip to main content
QUICK REVIEW

[论文解读] DeepHunter: Hunting Deep Neural Network Defects via Coverage-Guided Fuzzing

Xiaofei Xie, Lei Ma|arXiv (Cornell University)|Sep 4, 2018
Adversarial Robustness in Machine Learning参考文献 53被引用 25
一句话总结

DeepHunter 是一种基于覆盖率的模糊测试框架,通过元变换突变生成语义保持的测试输入,并利用六种可插拔的多粒度覆盖率标准引导测试生成,系统性地检测深度神经网络(DNN)中的缺陷。它显著提升了测试覆盖率,并检测到模型错误,包括在为部署进行量化过程中引入的错误。

ABSTRACT

In company with the data explosion over the past decade, deep neural network (DNN) based software has experienced unprecedented leap and is becoming the key driving force of many novel industrial applications, including many safety-critical scenarios such as autonomous driving. Despite great success achieved in various human intelligence tasks, similar to traditional software, DNNs could also exhibit incorrect behaviors caused by hidden defects causing severe accidents and losses. In this paper, we propose DeepHunter, an automated fuzz testing framework for hunting potential defects of general-purpose DNNs. DeepHunter performs metamorphic mutation to generate new semantically preserved tests, and leverages multiple plugable coverage criteria as feedback to guide the test generation from different perspectives. To be scalable towards practical-sized DNNs, DeepHunter maintains multiple tests in a batch, and prioritizes the tests selection based on active feedback. The effectiveness of DeepHunter is extensively investigated on 3 popular datasets (MNIST, CIFAR-10, ImageNet) and 7 DNNs with diverse complexities, under a large set of 6 coverage criteria as feedback. The large-scale experiments demonstrate that DeepHunter can (1) significantly boost the coverage with guidance; (2) generate useful tests to detect erroneous behaviors and facilitate the DNN model quality evaluation; (3) accurately capture potential defects during DNN quantization for platform migration.

研究动机与目标

  • 解决深度神经网络(DNN)软件质量保障中缺乏可扩展、自动化的测试框架的问题。
  • 通过设计一种保留输入语义的DNN感知突变策略,克服传统模糊测试在DNN中的局限性。
  • 利用多种覆盖率标准实现反馈引导的测试生成,以增强测试多样性与缺陷检测能力。
  • 研究不同覆盖率标准在引导DNN模糊测试以进行质量评估和缺陷检测方面的有效性。
  • 在真实世界数据集和复杂模型(如ResNet-50)上展示框架的可扩展性与有效性。

提出的方法

  • 采用元变换突变生成保留语义意义的新测试输入,同时引入变化,确保输入的有效性与多样性。
  • 维护一个测试输入批次,以支持并行执行,提升模糊测试期间的吞吐量。
  • 引入可插拔的反馈架构,包含六种不同粒度的神经元覆盖率标准(例如,神经元级、层级、滤波器级覆盖率)。
  • 利用覆盖率标准的主动反馈引导突变策略,优先选择探索模型行为中全新或未充分探索区域的测试用例。
  • 利用覆盖率反馈动态调整突变操作,提高触发边缘情况或错误行为的可能性。
  • 支持在MNIST、CIFAR-10和ImageNet上进行大规模评估,涵盖多种DNN架构,包括ResNet-50。

实验结果

研究问题

  • RQ1基于覆盖率的模糊测试是否能通过使用多种多粒度覆盖率标准,有效提升深度神经网络的测试覆盖率?
  • RQ2不同覆盖率标准如何影响DNN模糊测试在检测模型缺陷方面的效率与有效性?
  • RQ3DeepHunter在DNN开发和平台迁移过程中的量化阶段,能在多大程度上检测到错误行为?
  • RQ4该框架是否能够扩展到ImageNet和ResNet-50等大型真实世界DNN和数据集?
  • RQ5与现有方法(如TensorFuzz)相比,DeepHunter在测试多样性、覆盖率和缺陷检测能力方面表现如何?

主要发现

  • DeepHunter在所有六种测试覆盖率标准上均显著提升了覆盖率,证明了反馈引导突变的有效性。
  • 该框架成功检测到DNN中的错误行为,包括在量化过程中出现的模型失效,这对边缘设备上的部署至关重要。
  • 结合语义保持的元变换突变能生成有效且多样的输入,其效果优于随机或语法突变。
  • 使用多种可插拔的覆盖率标准,相比单一指标反馈,能实现对模型行为更全面的探索。
  • DeepHunter能有效扩展到ResNet-50等大型模型和ImageNet等数据集,支持大规模实证评估。
  • 与现有方法(如TensorFuzz)相比,DeepHunter通过支持多样化的突变类型和多维度反馈,实现了更广泛的缺陷检测。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。