CodeAttack: Code-Based Adversarial Attacks for Pre-trained Programming Language Models

Authors

  • Akshita Jha Virginia Tech
  • Chandan K. Reddy Virginia Tech

DOI:

https://doi.org/10.1609/aaai.v37i12.26739

Keywords:

General

Abstract

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