SELGPLMay 28, 2022

Syntax-Guided Program Reduction for Understanding Neural Code Intelligence Models

arXiv:2205.14374v224 citationsh-index: 23
Originality Incremental advance
AI Analysis

This work addresses the opacity of neural code intelligence models for developers and researchers in software engineering, offering an incremental improvement over existing reduction methods.

The paper tackled the problem of understanding neural code intelligence models by proposing a syntax-guided program reduction technique that considers programming language grammar, resulting in faster reduction and smaller sets of key tokens, with key tokens used to generate adversarial examples for up to 65% of input programs.

Neural code intelligence (CI) models are opaque black-boxes and offer little insight on the features they use in making predictions. This opacity may lead to distrust in their prediction and hamper their wider adoption in safety-critical applications. Recently, input program reduction techniques have been proposed to identify key features in the input programs to improve the transparency of CI models. However, this approach is syntax-unaware and does not consider the grammar of the programming language. In this paper, we apply a syntax-guided program reduction technique that considers the grammar of the input programs during reduction. Our experiments on multiple models across different types of input programs show that the syntax-guided program reduction technique is faster and provides smaller sets of key tokens in reduced programs. We also show that the key tokens could be used in generating adversarial examples for up to 65% of the input programs.

Code Implementations2 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes