Combinatorial Testing for Deep Learning Systems
arXiv:1806.07723
Abstract
Deep learning (DL) has achieved remarkable progress over the past decade and been widely applied to many safety-critical applications. However, the robustness of DL systems recently receives great concerns, such as adversarial examples against computer vision systems, which could potentially result in severe consequences. Adopting testing techniques could help to evaluate the robustness of a DL system and therefore detect vulnerabilities at an early stage. The main challenge of testing such systems is that its runtime state space is too large: if we view each neuron as a runtime state for DL, then a DL system often contains massive states, rendering testing each state almost impossible. For traditional software, combinatorial testing (CT) is an effective testing technique to reduce the testing space while obtaining relatively high defect detection abilities. In this paper, we perform an exploratory study of CT on DL systems. We adapt the concept in CT and propose a set of coverage criteria for DL systems, as well as a CT coverage guided test generation technique. Our evaluation demonstrates that CT provides a promising avenue for testing DL systems. We further pose several open questions and interesting directions for combinatorial testing of DL systems.
References in corpus (10)
- Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation
- End to End Learning for Self-Driving Cars
- CheXNet: Radiologist-Level Pneumonia Detection on Chest X-Rays with Deep Learning
- DeepXplore: Automated Whitebox Testing of Deep Learning Systems
- Robust Physical-World Attacks on Deep Learning Models
- Testing Deep Neural Networks
- Towards Proving the Adversarial Robustness of Deep Neural Networks
- Towards Practical Verification of Machine Learning: The Case of Computer Vision Systems
- DeepSafe: A Data-driven Approach for Checking Adversarial Robustness in Neural Networks
- Handling Constraints in Combinatorial Interaction Testing in the presence of Multi Objective Particle Swarm and Multithreading
Cited by in corpus (20)
- Guiding Deep Learning System Testing using Surprise Adequacy
- Testing Deep Neural Networks
- Machine Learning Testing: Survey, Landscapes and Horizons
- Software Engineering for AI-Based Systems: A Survey
- A Survey of Safety and Trustworthiness of Deep Neural Networks: Verification, Testing, Adversarial Attack and Defence, and Interpretability
- DeepCruiser: Automated Guided Testing for Stateful Deep Learning Systems
- Software Testing for Machine Learning
- DeepHunter: Hunting Deep Neural Network Defects via Coverage-Guided Fuzzing
- Operation is the hardest teacher: estimating DNN accuracy looking for mispredictions
- Secure Deep Learning Engineering: A Software Quality Assurance Perspective
- RAID: Randomized Adversarial-Input Detection for Neural Networks
- CAGFuzz: Coverage-Guided Adversarial Generative Fuzzing Testing of Deep Learning Systems
- ExAIS: Executable AI Semantics
- An Orchestrated Empirical Study on Deep Learning Frameworks and Platforms
- DeepSearch: A Simple and Effective Blackbox Attack for Deep Neural Networks
- DeepFault: Fault Localization for Deep Neural Networks
- Explaining Image Classifiers using Statistical Fault Localization
- Quality Management of Machine Learning Systems
- On Functional Test Generation for Deep Neural Network IPs
- Self-Checking Deep Neural Networks in Deployment