Dynamic Slicing for Deep Neural Networks

被引:22
作者
Zhang, Ziqi [1 ]
Li, Yuanchun [2 ]
Guo, Yao [1 ]
Chen, Xiangqun [1 ]
Liu, Yunxin [2 ]
机构
[1] Peking Univ, Dept Comp Sci, Key Lab High Confidence Software Technol MOE, Beijing, Peoples R China
[2] Microsoft Res, Beijing, Peoples R China
来源
PROCEEDINGS OF THE 28TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '20) | 2020年
基金
中国国家自然科学基金;
关键词
Program slicing; deep neural networks; dynamic slicing; data flow analysis;
D O I
10.1145/3368089.3409676
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Program slicing has been widely applied in a variety of software engineering tasks. However, existing program slicing techniques only deal with traditional programs that are constructed with instructions and variables, rather than neural networks that are composed of neurons and synapses. In this paper, we propose NNSlicer, the first approach for slicing deep neural networks based on data flow analysis. Our method understands the reaction of each neuron to an input based on the difference between its behavior activated by the input and the average behavior over the whole dataset. Then we quantify the neuron contributions to the slicing criterion by recursively backtracking from the output neurons, and calculate the slice as the neurons and the synapses with larger contributions. We demonstrate the usefulness and effectiveness of NNSlicer with three applications, including adversarial input detection, model pruning, and selective model protection. In all applications, NNSlicer significantly outperforms other baselines that do not rely on data flow analysis.
引用
收藏
页码:838 / 850
页数:13
相关论文
共 81 条
[1]   DEBUGGING WITH DYNAMIC SLICING AND BACKTRACKING [J].
AGRAWAL, H ;
DEMILLO, RA ;
SPAFFORD, EH .
SOFTWARE-PRACTICE & EXPERIENCE, 1993, 23 (06) :589-616
[2]  
Alaifari R., 2018, ARXIV180407729
[3]  
[Anonymous], 2019, 2019 4TH IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY (EUROS&P), DOI DOI 10.1109/EuroSP.2019.00044
[4]  
[Anonymous], 2018, Faster CryptoNets: Leveraging sparsity for real-world encrypted inference
[5]  
Arlt Stephan, 2014, P 2014 INT S SOFTWAR, P270
[6]   Dynamic Slicing for Android [J].
Azim, Tanzirul ;
Alavi, Arash ;
Neamtiu, Iulian ;
Gupta, Rajiv .
2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2019), 2019, :1154-1164
[7]   A survey of empirical results on program slicing [J].
Binkley, D ;
Harman, M .
ADVANCES IN COMPUTERS, VOL 62: ADVANCES IN SOFTWARE ENGINEERING, 2004, 62 :105-178
[8]   ORBS: Language-Independent Program Slicing [J].
Binkley, David ;
Gold, Nicolas ;
Harman, Mark ;
Islam, Syed ;
Krinke, Jens ;
Yoo, Shin .
22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, :109-120
[9]  
Breiman L., 1984, Classification and regression trees, V37, P237, DOI [DOI 10.1201/9781315139470-8, 10.1201/9781315139470]
[10]  
Brendel Wieland, 2018, PROC 6 INT C LEARN R