  With the development of large language models, multiple AIs are now made
available for code generation (such as ChatGPT and StarCoder) and are adopted
widely. It is often desirable to know whether a piece of code is generated by
AI, and furthermore, which AI is the author. For instance, if a certain version
of AI is known to generate vulnerable codes, it is particularly important to
know the creator. Existing approaches are not satisfactory as watermarking
codes are more challenging compared to watermarking text data, as codes can be
altered with relative ease via widely-used code refactoring methods. In this
work, we propose ACW (AI Code Watermarking), a novel method for watermarking
AI-generated codes. The key idea of ACW is to selectively apply a set of
carefully-designed semantic-preserving, idempotent code transformations, whose
presence (or absence) allows us to determine the existence of the watermark. It
is efficient as it requires no training or fine-tuning and works in a black-box
manner. It is resilient as the watermark cannot be easily removed or tampered
through common code refactoring methods. Our experimental results show that ACW
is effective (i.e., achieving high accuracy, true positive rates and false
positive rates) and resilient, significantly outperforming existing approaches.
