[论文解读] Coverage-Guided Fuzzing for Deep Neural Networks.
DeepHunter 是一种基于覆盖率的模糊测试框架,利用变异测试和多种插件覆盖率标准,自动检测深度神经网络中的缺陷。它显著提升了测试覆盖率,并在模型量化以用于部署时,发现了许多错误行为。
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.
研究动机与目标
- 为应对在自动驾驶等安全关键应用中使用的深度神经网络(DNNs)中未被检测到的缺陷日益增长的风险。
- 通过支持语义测试生成的自动化、可扩展且高效的DNN模糊测试,克服传统测试的局限性。
- 通过反馈驱动的测试生成检测错误行为,提升DNN质量评估。
- 通过识别量化过程中引入的缺陷,支持模型平台迁移。
提出的方法
- 采用变异测试生成新的测试输入,保留语义含义的同时改变输入特征,以探索模型行为。
- 集成多种可插拔覆盖率标准(例如,神经元、激活和基于梯度的度量)作为反馈,从不同角度指导测试生成。
- 以批量方式维护和处理多个测试用例,提升对大型DNN的可扩展性。
- 基于覆盖率标准的主动反馈对测试用例进行优先级排序,聚焦于高影响力输入。
- 利用覆盖率反馈,迭代地优化和演化测试输入,以发现边界情况和缺陷。
- 支持在多种DNN架构和数据集(包括MNIST、CIFAR-10和ImageNet)上进行端到端测试。
实验结果
研究问题
- RQ1基于覆盖率的模糊测试是否能显著提升通用DNN的测试覆盖率?
- RQ2DeepHunter在不同架构和数据集上的DNN中检测错误行为的效率如何?
- RQ3DeepHunter在多大程度上能够识别为资源受限平台部署而进行DNN量化时引入的缺陷?
- RQ4多种覆盖率标准在指导DNN有效测试生成方面有何差异?
- RQ5DeepHunter能否在保持高检测效率的同时扩展到实际规模的DNN?
主要发现
- DeepHunter利用6种不同的覆盖率标准,在7个不同的DNN上显著提升了覆盖率,证明了反馈驱动测试生成的有效性。
- 该框架成功生成了有助于暴露DNN中错误行为的有用测试用例,从而实现更稳健的模型质量评估。
- DeepHunter能够准确检测在DNN量化过程中出现的缺陷,支持模型可靠地迁移到目标平台。
- 基于批量的测试管理与反馈优先级策略使框架能够扩展到大规模DNN,同时不牺牲检测能力。
- 在MNIST、CIFAR-10和ImageNet上的实验结果表明,无论数据集或模型复杂度如何,性能均保持一致的提升。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。