Detection of LLM-Generated Java Code Using Discretized Nested Bigrams
This work addresses the problem of authorship attribution for LLM-generated code, which is significant for professionals and students in applications such as academic integrity and cybersecurity.
The authors tackled the problem of detecting Large Language Model (LLM)-generated Java code, achieving an accuracy of 96% and exceeding 99% in larger datasets. Their approach outperformed prior works, including a commonly used GPT code-detection API.
Large Language Models (LLMs) are currently used extensively to generate code by professionals and students, motivating the development of tools to detect LLM-generated code for applications such as academic integrity and cybersecurity. We address this authorship attribution problem as a binary classification task along with feature identification and extraction. We propose new Discretized Nested Bigram Frequency features on source code groups of various sizes. Compared to prior work, improvements are obtained by representing sparse information in dense membership bins. Experimental evaluation demonstrated that our approach significantly outperformed a commonly used GPT code-detection API and baseline features, with accuracy exceeding 96% compared to 72% and 79% respectively in detecting GPT-rewritten Java code fragments for 976 files with GPT 3.5 and GPT4 using 12 features. We also outperformed three prior works on code author identification in a 40-author dataset. Our approach scales well to larger data sets, and we achieved 99% accuracy and 0.999 AUC for 76,089 files and over 1,000 authors with GPT 4o using 227 features.