I Can Find You in Seconds! Leveraging Large Language Models for Code Authorship Attribution

要約

ソース コードの作成者の帰属は、ソフトウェア フォレンジック、盗作検出、およびソフトウェア パッチの完全性の保護において重要です。
既存の技術は多くの場合、教師あり機械学習に依存していますが、大規模なラベル付きデータセットが必要なため、さまざまなプログラミング言語やコーディング スタイルにわたる一般化に苦労しています。
このペーパーは、タスク固有のチューニングなしで優れたパフォーマンスを示した大規模言語モデル (LLM) を使用した自然言語の著作者解析の最近の進歩に触発され、ソース コードの著作者帰属のための LLM の使用について検討します。
私たちは、最先端の LLM がさまざまな言語間でソース コードの作成者を首尾よく帰属させることができることを実証する包括的な研究を紹介します。
LLM は、ゼロショット プロンプトで 2 つのコード スニペットが同じ作成者によって書かれたかどうかを判断し、マシューズ相関係数 (MCC) 0.78 を達成できます。また、少数のショット学習を通じて参照コード スニペットの小さなセットからコードの作成者を特定することができ、
MCCは0.77。
さらに、LLM は、不当属性攻撃に対してある程度の堅牢性を示します。
これらの機能にもかかわらず、入力トークンの制限により、LLM の単純なプロンプトは多数の作成者にうまく対応できないことがわかりました。
これに対処するために、私たちは大規模なアトリビューションのためのトーナメント形式のアプローチを提案します。
GitHub からの C++ (作成者 500 人、サンプル 26,355 件) と Java (作成者 686 人、サンプル 55,267 件) のコードのデータセットでこのアプローチを評価すると、作成者ごとに 1 つの参照のみを使用して、C++ で最大 65%、Java で最大 68.7% の分類精度を達成しました。
これらの結果は、サイバーセキュリティおよびソフトウェア エンジニアリングにおけるコード作成者の帰属に LLM を適用する新たな可能性を開きます。

要約(オリジナル)

Source code authorship attribution is important in software forensics, plagiarism detection, and protecting software patch integrity. Existing techniques often rely on supervised machine learning, which struggles with generalization across different programming languages and coding styles due to the need for large labeled datasets. Inspired by recent advances in natural language authorship analysis using large language models (LLMs), which have shown exceptional performance without task-specific tuning, this paper explores the use of LLMs for source code authorship attribution. We present a comprehensive study demonstrating that state-of-the-art LLMs can successfully attribute source code authorship across different languages. LLMs can determine whether two code snippets are written by the same author with zero-shot prompting, achieving a Matthews Correlation Coefficient (MCC) of 0.78, and can attribute code authorship from a small set of reference code snippets via few-shot learning, achieving MCC of 0.77. Additionally, LLMs show some adversarial robustness against misattribution attacks. Despite these capabilities, we found that naive prompting of LLMs does not scale well with a large number of authors due to input token limitations. To address this, we propose a tournament-style approach for large-scale attribution. Evaluating this approach on datasets of C++ (500 authors, 26,355 samples) and Java (686 authors, 55,267 samples) code from GitHub, we achieve classification accuracy of up to 65% for C++ and 68.7% for Java using only one reference per author. These results open new possibilities for applying LLMs to code authorship attribution in cybersecurity and software engineering.

arxiv情報

著者 Soohyeon Choi,Yong Kiam Tan,Mark Huasong Meng,Mohamed Ragab,Soumik Mondal,David Mohaisen,Khin Mi Mi Aung
発行日 2025-01-14 14:46:19+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.SE パーマリンク