Concolic Testing for Deep Neural Networks
arXiv:1805.00089
Abstract
Concolic testing combines program execution and symbolic analysis to explore the execution paths of a software program. This paper presents the first concolic testing approach for Deep Neural Networks (DNNs). More specifically, we formalise coverage criteria for DNNs that have been studied in the literature, and then develop a coherent method for performing concolic testing to increase test coverage. Our experimental results show the effectiveness of the concolic testing approach in both achieving high coverage and finding adversarial examples.
Cited by in corpus (16)
- Adversarial Sample Detection for Deep Neural Network through Model Mutation Testing
- A Game-Based Approximate Verification of Deep Neural Networks with Provable Guarantees
- Software Engineering for AI-Based Systems: A Survey
- DeepCruiser: Automated Guided Testing for Stateful Deep Learning Systems
- Towards a Robust Deep Neural Network in Texts: A Survey
- Automated Test Generation to Detect Individual Discrimination in AI Models
- There is Limited Correlation between Coverage and Robustness for Deep Neural Networks
- Adaptive Generation of Unrestricted Adversarial Inputs
- Towards Characterizing Adversarial Defects of Deep Learning Software from the Lens of Uncertainty
- Testing Untestable Neural Machine Translation: An Industrial Case
- Abstraction and Symbolic Execution of Deep Neural Networks with Bayesian Approximation of Hidden Features
- nn-dependability-kit: Engineering Neural Networks for Safety-Critical Autonomous Driving Systems
- Tutorials on Testing Neural Networks
- Testing Machine Translation via Referential Transparency
- Dynamic Symbolic Execution of Higher-Order Functions
- Boosting the Robustness Verification of DNN by Identifying the Achilles's Heel