RoPGen: Towards Robust Code Authorship Attribution via Automatic Coding Style Transformation
arXiv:2202.06043 · doi:10.1145/3510003.3510181
Abstract
Source code authorship attribution is an important problem often encountered in applications such as software forensics, bug fixing, and software quality analysis. Recent studies show that current source code authorship attribution methods can be compromised by attackers exploiting adversarial examples and coding style manipulation. This calls for robust solutions to the problem of code authorship attribution. In this paper, we initiate the study on making Deep Learning (DL)-based code authorship attribution robust. We propose an innovative framework called Robust coding style Patterns Generation (RoPGen), which essentially learns authors' unique coding style patterns that are hard for attackers to manipulate or imitate. The key idea is to combine data augmentation and gradient augmentation at the adversarial training phase. This effectively increases the diversity of training examples, generates meaningful perturbations to gradients of deep neural networks, and learns diversified representations of coding styles. We evaluate the effectiveness of RoPGen using four datasets of programs written in C, C++, and Java. Experimental results show that RoPGen can significantly improve the robustness of DL-based code authorship attribution, by respectively reducing 22.8% and 41.0% of the success rate of targeted and untargeted attacks on average.
arXiv commentICSE 2022
References in corpus (9)
- Fast is better than free: Revisiting adversarial training
- TextBugger: Generating Adversarial Text Against Real-world Applications
- Towards the first adversarially robust neural network model on MNIST
- Semantic Robustness of Models of Source Code
- Adversarial Robustness Against the Union of Multiple Perturbation Models
- A Framework for Enhancing Deep Neural Networks Against Adversarial Malware
- Git Blame Who?: Stylistic Authorship Attribution of Small, Incomplete Source Code Fragments
- Adversarial Robustness for Code
- GradAug: A New Regularization Method for Deep Neural Networks