  Deep Neural Networks (DNN) are increasingly used in a variety of
applications, many of them with substantial safety and security concerns. This
paper introduces DeepCheck, a new approach for validating DNNs based on core
ideas from program analysis, specifically from symbolic execution. The idea is
to translate a DNN into an imperative program, thereby enabling program
analysis to assist with DNN validation. A basic translation however creates
programs that are very complex to analyze. DeepCheck introduces novel
techniques for lightweight symbolic analysis of DNNs and applies them in the
context of image classification to address two challenging problems in DNN
analysis: 1) identification of important pixels (for attribution and
adversarial generation); and 2) creation of 1-pixel and 2-pixel attacks.
Experimental results using the MNIST data-set show that DeepCheck's lightweight
symbolic analysis provides a valuable tool for DNN validation.
