DeepMutation: Mutation Testing of Deep Learning Systems

被引:249
作者
Ma, Lei [1 ,2 ]
Zhang, Fuyuan [2 ]
Sun, Jiyuan [3 ]
Xue, Minhui [2 ]
Li, Bo [4 ]
Juefei-Xu, Felix [5 ]
Xie, Chao [3 ]
Li, Li [6 ]
Liu, Yang [2 ]
Zhao, Jianjun [3 ]
Wang, Yadong [1 ]
机构
[1] Harbin Inst Technol, Harbin, Heilongjiang, Peoples R China
[2] Nanyang Technol Univ, Singapore, Singapore
[3] Kyushu Univ, Fukuoka, Fukuoka, Japan
[4] Univ Illinois, Urbana, IL 61801 USA
[5] Carnegie Mellon Univ, Pittsburgh, PA 15213 USA
[6] Monash Univ, Clayton, Vic, Australia
来源
2018 29TH IEEE INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE) | 2018年
基金
国家重点研发计划;
关键词
Deep learning; Software testing; Deep neural networks; Mutation testing;
D O I
10.1109/ISSRE.2018.00021
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Deep learning (DL) defines a new data-driven programming paradigm where the internal system logic is largely shaped by the training data. The standard way of evaluating DL models is to examine their performance on a test dataset. The quality of the test dataset is of great importance to gain confidence of the trained models. Using an inadequate test dataset, DL models that have achieved high test accuracy may still lack generality and robustness. In traditional software testing, mutation testing is a well-established technique for quality evaluation of test suites, which analyzes to what extent a test suite detects the injected faults. However, due to the fundamental difference between traditional software and deep learning-based software, traditional mutation testing techniques cannot be directly applied to DL systems. In this paper, we propose a mutation testing framework specialized for DL systems to measure the quality of test data. To do this, by sharing the same spirit of mutation testing in traditional software, we first define a set of source-level mutation operators to inject faults to the source of DL (i.e., training data and training programs). Then we design a set of model-level mutation operators that directly inject faults into DL models without a training process. Eventually, the quality of test data could be evaluated from the analysis on to what extent the injected faults could be detected. The usefulness of the proposed mutation testing techniques is demonstrated on two public datasets, namely MNIST and CIFAR-10, with three DL models.
引用
收藏
页码:100 / 111
页数:12
相关论文
共 74 条
[1]  
Abadi M, 2016, PROCEEDINGS OF OSDI'16: 12TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, P265
[2]  
Agrawal H., 1989, Design of mutant operators for the C programming language
[3]  
[Anonymous], 2006, 2 WORKSH MUT AN MUT
[4]  
[Anonymous], 2006, P 6 INT C QUAL SOFTW
[5]  
[Anonymous], 2018, TESTING DEEP NEURAL
[6]  
[Anonymous], 2018, TEXAS BECOMES LATEST
[7]  
[Anonymous], 2017, P 10 ACM WORKSH ART
[8]  
[Anonymous], 2017, DeepSafe: A Data-driven Approach for Checking Adversarial Robustness in Neural Networks
[9]  
[Anonymous], 2018 IEEE S SEC PRIV
[10]  
[Anonymous], 33 IEEE ACM INT C