CodeAttack: Code-Based Adversarial Attacks for Pre-trained Programming Language Models
DOI:
https://doi.org/10.1609/aaai.v37i12.26739Keywords:
GeneralAbstract
Pre-trained programming language (PL) models (such as CodeT5, CodeBERT, GraphCodeBERT, etc.,) have the potential to automate software engineering tasks involving code understanding and code generation. However, these models operate in the natural channel of code, i.e., primarily concerned with the human understanding of code. They are not robust to changes in the input and thus, are potentially susceptible to adversarial attacks in the natural channel. We propose, Code Attack, a simple yet effective black-box attack model that uses code structure to generate effective, efficient, and imperceptible adversarial code samples and demonstrates the vulnerabilities of the state-of-the-art PL models to code-specific adversarial attacks. We evaluate the transferability of CodeAttack on several code-code (translation and repair) and code-NL (summarization) tasks across different programming languages. Code Attack outperforms state-of-the-art adversarial NLP attack models to achieve the best overall drop in performance while being more efficient, imperceptible, consistent, and fluent. The code can be found at https://github.com/reddy-lab-code-research/CodeAttack.Downloads
Published
2023-06-26
How to Cite
Jha, A., & Reddy, C. K. (2023). CodeAttack: Code-Based Adversarial Attacks for Pre-trained Programming Language Models. Proceedings of the AAAI Conference on Artificial Intelligence, 37(12), 14892-14900. https://doi.org/10.1609/aaai.v37i12.26739
Issue
Section
AAAI Special Track on Safe and Robust AI