Uncovering LLM-Generated Code: A Zero-Shot Synthetic Code Detector via Code Rewriting

要約

大規模言語モデル (LLM) は、コード生成において顕著な熟練度を示しています。
しかし、LLM で生成された (合成) コードの悪用は、教育と産業の両方の文脈で懸念を引き起こしており、合成コード検出器の緊急の必要性が浮き彫りになっています。
合成コンテンツを検出するための既存の方法は、主に一般的なテキスト向けに設計されており、プログラミング言語の独自の文法構造と多数の「低エントロピー」トークンの存在により、コードに苦労しています。
これに基づいて、私たちの研究は、元のコードとその LLM で書き直されたバリアント間の類似性に基づいた、新しいゼロショット合成コード検出器を提案します。
私たちの方法は、LLM で書き換えられたコードと元のコードの差は、元のコードが合成された場合に小さくなる傾向があるという観察に基づいています。
自己教師あり対比学習を利用してコード類似性モデルをトレーニングし、2 つの合成コード検出ベンチマークでアプローチを評価します。
私たちの結果は、既存の SOTA 合成コンテンツ検出器と比較して大幅な改善を示しており、AUROC スコアは APPS ベンチマークで 20.5%、MBPP ベンチマークで 29.1% 増加しました。

要約(オリジナル)

Large Language Models (LLMs) have demonstrated remarkable proficiency in generating code. However, the misuse of LLM-generated (synthetic) code has raised concerns in both educational and industrial contexts, underscoring the urgent need for synthetic code detectors. Existing methods for detecting synthetic content are primarily designed for general text and struggle with code due to the unique grammatical structure of programming languages and the presence of numerous ”low-entropy” tokens. Building on this, our work proposes a novel zero-shot synthetic code detector based on the similarity between the original code and its LLM-rewritten variants. Our method is based on the observation that differences between LLM-rewritten and original code tend to be smaller when the original code is synthetic. We utilize self-supervised contrastive learning to train a code similarity model and evaluate our approach on two synthetic code detection benchmarks. Our results demonstrate a significant improvement over existing SOTA synthetic content detectors, with AUROC scores increasing by 20.5% on the APPS benchmark and 29.1% on the MBPP benchmark.

arxiv情報

著者 Tong Ye,Yangkai Du,Tengfei Ma,Lingfei Wu,Xuhong Zhang,Shouling Ji,Wenhai Wang
発行日 2024-12-16 15:42:38+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

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