AaceGEN: Attention Guided Adversarial Code Example Generation for Deep Code Models - Li, Zhong; Zhang, Chong; Pan, Minxue; Zhang, Tian; Li, Xuandong (IEEE/ACM International Conference on Automated Software Engineering : [proceedings], 2024)
Adversarial code examples are important to investigate the robustness of deep code models. Existing work on adversarial code example generation has shown promising results yet still falls short in practical applications due to either the high number of model invocations or the limited naturalness of generated examples. In this paper, we propose AaceGEN, an attention-guided adversarial code example generation method for deep code models. The key idea of AaceGEN is to utilize the attention distributions behind deep code models to guide the generation of adversarial code examples. As such, the code elements critical for model predictions could be prioritized for exploration, enhancing the effectiveness and efficiency of adversarial code example generation. In addition, AaceGEN implements a code transformation library providing diverse semantic-preserving code transformations for various code elements, and further conducts a search under the constraint of a maximum number of allowable code transformations to generate adversarial code examples with subtlety and stealth. Our extensive experiments on 9 diverse subjects, taking into account different software engineering tasks and varied deep code models, demonstrate that AaceGEN outperforms 3 baseline approaches under comprehensive evaluation.CCS CONCEPTS* Software and its engineering → Software testing and debugging; Search-based software engineering; * Computing methodologies → Neural networks.