Adversarial Robustness for Code
This addresses a critical security issue for developers and users of AI tools in software engineering, but it is incremental as it builds on existing adversarial robustness methods.
The paper tackles the problem of adversarial robustness for neural models in code-related tasks, showing that these models are vulnerable to attacks and proposing techniques to improve robustness while maintaining high accuracy.
Machine learning and deep learning in particular has been recently used to successfully address many tasks in the domain of code such as finding and fixing bugs, code completion, decompilation, type inference and many others. However, the issue of adversarial robustness of models for code has gone largely unnoticed. In this work, we explore this issue by: (i) instantiating adversarial attacks for code (a domain with discrete and highly structured inputs), (ii) showing that, similar to other domains, neural models for code are vulnerable to adversarial attacks, and (iii) combining existing and novel techniques to improve robustness while preserving high accuracy.