Interpreting Deep Learning-based Vulnerability Detector Predictions Based on Heuristic Searching

Deqing Zou,Yawei Zhu,Shouhuai Xu,Zhen Li,Hai Jin,Hengkai Ye
DOI: https://doi.org/10.1145/3429444
IF: 3.685
2021-04-30
ACM Transactions on Software Engineering and Methodology
Abstract:Detecting software vulnerabilities is an important problem and a recent development in tackling the problem is the use of deep learning models to detect software vulnerabilities. While effective, it is hard to explain why a deep learning model predicts a piece of code as vulnerable or not because of the black-box nature of deep learning models. Indeed, the interpretability of deep learning models is a daunting open problem. In this article, we make a significant step toward tackling the interpretability of deep learning model in vulnerability detection. Specifically, we introduce a high-fidelity explanation framework, which aims to identify a small number of tokens that make significant contributions to a detector’s prediction with respect to an example. Systematic experiments show that the framework indeed has a higher fidelity than existing methods, especially when features are not independent of each other (which often occurs in the real world). In particular, the framework can produce some vulnerability rules that can be understood by domain experts for accepting a detector’s outputs (i.e., true positives) or rejecting a detector’s outputs (i.e., false-positives and false-negatives). We also discuss limitations of the present study, which indicate interesting open problems for future research.
computer science, software engineering
What problem does this paper attempt to address?