Extracting Label-specific Key Input Features for Neural Code Intelligence Models
Not on the map. Why?
Abstract (arXiv)
The code intelligence (CI) models are often black-box and do not offer any insights on the input features that they learn for making correct predictions. This opacity may lead to distrust in their prediction and hamper their wider adoption in safety-critical applications. In recent, the program reduction technique is widely being used to identify key input features in order to explain the prediction of CI models. The approach removes irrelevant parts from an input program and keeps the minimal snippets that a CI model needs to maintain its prediction. However, the state-of-the-art approaches mainly use a syntax-unaware program reduction technique that does not follow the syntax of programs, which adds significant overhead to the reduction of input programs and explainability of models. In this paper, we apply a syntax-guided program reduction technique that follows the syntax of input programs during reduction. Our experiments on multiple models across different types of input programs show that the syntax-guided program reduction technique significantly outperforms the syntax-unaware program reduction technique in reducing the size of input programs. Extracting key input features from reduced programs reveals that the syntax-guided reduced programs contain more label-specific key input features and are more vulnerable to adversarial transformation when renaming the key tokens in programs. These label-specific key input features may help to understand the reasoning of models' prediction from different perspectives and increase the trustworthiness to correct classification given by CI models.
Key facts. No citing papers in the map yet (data through 7 Oct 2026). Builds on 18 of its 28 references that are in the map. First posted on arXiv 14 Feb 2022.
Builds on
18 of 28 references.
References · 18
- 2018code2vec: Learning Distributed Representations of Codecited by 249
- 2017A Survey of Machine Learning for Big Code and Naturalnesscited by 220
- 2017Learning to Represent Programs with Graphscited by 219
- 2018code2seq: Generating Sequences from Structured Representations of Codecited by 177
- 2018The Adverse Effects of Code Duplication in Machine Learning Models of Codecited by 123
- 2016A Convolutional Attention Network for Extreme Summarization of Source Codecited by 90
- 2019Adversarial Examples for Models of Codecited by 61
- 2020On the Generalizability of Neural Program Models with respect to Semantic-Preserving Program Transformationscited by 41
- 2014Learning Natural Coding Conventionscited by 28
- 2021A Survey on Machine Learning Techniques for Source Code Analysiscited by 23
- 2021Understanding Neural Code Intelligence Through Program Simplificationcited by 20
- 2019A Literature Study of Embeddings on Source Codecited by 18
6 more
- 2021Memorization and Generalization in Neural Code Intelligence Modelscited by 17
- 2020Probing Model Signal-Awareness via Prediction-Preserving Input Minimizationcited by 14
- 2020Embedding Java Classes with code2vec: Improvements from Variable Obfuscationcited by 12
- 2020Evaluation of Generalizability of Neural Program Analyzers under Semantic-Preserving Transformationscited by 9
- 2020Towards Demystifying Dimensions of Source Code Embeddingscited by 9
- 2021Code2Snapshot: Using Code Snapshots for Learning Representations of Source Codecited by 4
Built on by
Not cited yet.