Mutation-based Consistency Testing for Evaluating the Code Understanding Capability of LLMs

要約

大規模言語モデル (LLM) は、自然言語とプログラミング言語の両方を処理する際に優れた能力を示しており、これにより、要件エンジニアリング、コード生成、ソフトウェア テストなどのソフトウェア エンジニアリングにおけるさまざまなアプリケーションが可能になりました。
ただし、既存のコード生成ベンチマークは、特にコードと自然言語で記述されたそのセマンティクスとの間に生じる可能性のある微妙な不一致について、LLM のコード理解パフォーマンスを必ずしも評価しているわけではありません。
この論文では、既存のコード生成データセットにコードの突然変異を導入することにより、特にコードとその記述の間の微妙な違いに焦点を当てて、LLM のコード理解パフォーマンスを体系的に評価する新しい方法を提案します。
コードの突然変異とは、元のコードのセマンティクスを変更し、自然言語の記述との不一致を引き起こす小さな変更です。
演算子の置換やステートメントの削除など、さまざまなタイプのコード変更を適用して、一貫性のないコードと記述のペアを生成します。
次に、これらのペアを使用して、LLM が不一致を正しく検出する能力をテストします。
私たちは、Mutation-based Consistency Testing (MCT) と呼ばれる新しい LLM テスト手法を提案し、最先端のコード生成ベンチマークを使用して、2 つの人気のある LLM、GPT-3.5 と GPT-4 のケース スタディを実施します。
HumanEval-X は 6 つのプログラミング言語 (Python、C++、Java、Go、JavaScript、Rust) で構成されています。
私たちは、さまざまなタイプのコード突然変異とプログラミング言語間で LLM のパフォーマンスを比較し、結果を分析します。
LLM はコード理解のパフォーマンスに大きなばらつきがあり、変異の種類と言語に応じて異なる長所と短所があることがわかりました。

要約(オリジナル)

Large Language Models (LLMs) have shown remarkable capabilities in processing both natural and programming languages, which have enabled various applications in software engineering, such as requirement engineering, code generation, and software testing. However, existing code generation benchmarks do not necessarily assess the code understanding performance of LLMs, especially for the subtle inconsistencies that may arise between code and its semantics described in natural language. In this paper, we propose a novel method to systematically assess the code understanding performance of LLMs, particularly focusing on subtle differences between code and its descriptions, by introducing code mutations to existing code generation datasets. Code mutations are small changes that alter the semantics of the original code, creating a mismatch with the natural language description. We apply different types of code mutations, such as operator replacement and statement deletion, to generate inconsistent code-description pairs. We then use these pairs to test the ability of LLMs to correctly detect the inconsistencies. We propose a new LLM testing method, called Mutation-based Consistency Testing (MCT), and conduct a case study on the two popular LLMs, GPT-3.5 and GPT-4, using the state-of-the-art code generation benchmark, HumanEval-X, which consists of six programming languages (Python, C++, Java, Go, JavaScript, and Rust). We compare the performance of the LLMs across different types of code mutations and programming languages and analyze the results. We find that the LLMs show significant variation in their code understanding performance and that they have different strengths and weaknesses depending on the mutation type and language.

arxiv情報

著者 Ziyu Li,Donghwan Shin
発行日 2024-01-11 14:27:43+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

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