DLFuzz: Differential Fuzzing Testing of Deep Learning Systems
arXiv:1808.09413 · doi:10.1145/3236024.3264835
Abstract
Deep learning (DL) systems are increasingly applied to safety-critical domains such as autonomous driving cars. It is of significant importance to ensure the reliability and robustness of DL systems. Existing testing methodologies always fail to include rare inputs in the testing dataset and exhibit low neuron coverage. In this paper, we propose DLFuzz, the frst differential fuzzing testing framework to guide DL systems exposing incorrect behaviors. DLFuzz keeps minutely mutating the input to maximize the neuron coverage and the prediction difference between the original input and the mutated input, without manual labeling effort or cross-referencing oracles from other DL systems with the same functionality. We present empirical evaluations on two well-known datasets to demonstrate its efficiency. Compared with DeepXplore, the state-of-the-art DL whitebox testing framework, DLFuzz does not require extra efforts to find similar functional DL systems for cross-referencing check, but could generate 338.59% more adversarial inputs with 89.82% smaller perturbations, averagely obtain 2.86% higher neuron coverage, and save 20.11% time consumption.
arXiv commentThis paper is to appear in ESEC/FSE'2018 (NIER track)
References in corpus (7)
- Very Deep Convolutional Networks for Large-Scale Image Recognition
- Sequence to Sequence Learning with Neural Networks
- Intriguing properties of neural networks
- End to End Learning for Self-Driving Cars
- DeepXplore: Automated Whitebox Testing of Deep Learning Systems
- Towards Deep Neural Network Architectures Robust to Adversarial Examples
- DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars
Cited by in corpus (39)
- Securing Connected & Autonomous Vehicles: Challenges Posed by Adversarial Machine Learning and The Way Forward
- Machine Learning Testing: Survey, Landscapes and Horizons
- How to Certify Machine Learning Based Safety-critical Systems? A Systematic Literature Review
- DocTer: Documentation Guided Fuzzing for Testing Deep Learning API Functions
- Machine Learning for Software Engineering: A Systematic Mapping
- Testing and verification of neural-network-based safety-critical control software: A systematic literature review
- A Survey of Safety and Trustworthiness of Deep Neural Networks: Verification, Testing, Adversarial Attack and Defence, and Interpretability
- Inspect, Understand, Overcome: A Survey of Practical Methods for AI Safety
- Coverage Guided Testing for Recurrent Neural Networks
- Exposing Previously Undetectable Faults in Deep Neural Networks
- A Survey on Verification and Validation, Testing and Evaluations of Neurosymbolic Artificial Intelligence
- Software Engineering Practice in the Development of Deep Learning Applications
- Automatic Test Suite Generation for Key-Points Detection DNNs using Many-Objective Search (Experience Paper)
- Performance Analysis of Out-of-Distribution Detection on Trained Neural Networks
- FedDebug: Systematic Debugging for Federated Learning Applications
- Towards Security Threats of Deep Learning Systems: A Survey
- Topological Differential Testing
- QuanTest: Entanglement-Guided Testing of Quantum Neural Network Systems
- CoCoFuzzing: Testing Neural Code Models with Coverage-Guided Fuzzing
- Beyond Accuracy: An Empirical Study on Unit Testing in Open-source Deep Learning Projects
- Mokav: Execution-driven Differential Testing with LLMs
- CAGFuzz: Coverage-Guided Adversarial Generative Fuzzing Testing of Deep Learning Systems
- A Tale of Two Approximations: Tightening Over-Approximation for DNN Robustness Verification via Under-Approximation
- Revisiting Deep Neural Network Test Coverage from the Test Effectiveness Perspective
- Metamorphic Testing of Image Captioning Systems via Image-Level Reduction
- Targeted Deep Learning System Boundary Testing
- RobOT: Robustness-Oriented Testing for Deep Learning Systems
- DeepSearch: A Simple and Effective Blackbox Attack for Deep Neural Networks
- Taking Care of The Discretization Problem: A Comprehensive Study of the Discretization Problem and A Black-Box Adversarial Attack in Discrete Integer Domain
- DeepFault: Fault Localization for Deep Neural Networks
- Abstraction and Symbolic Execution of Deep Neural Networks with Bayesian Approximation of Hidden Features
- HDTest: Differential Fuzz Testing of Brain-Inspired Hyperdimensional Computing
- Towards Structured Evaluation of Deep Neural Network Supervisors
- DeepSmartFuzzer: Reward Guided Test Generation For Deep Learning
- Automatically Detecting Numerical Instability in Machine Learning Applications via Soft Assertions
- Performance Analysis of Out-of-Distribution Detection on Various Trained Neural Networks
- Graph-Based Fuzz Testing for Deep Learning Inference Engine
- On the Mistaken Assumption of Interchangeable Deep Reinforcement Learning Implementations
- Efficient Adversarial Input Generation via Neural Net Patching