論文の概要: Large Language Models as Test Case Generators: Performance Evaluation and Enhancement
- arxiv url: http://arxiv.org/abs/2404.13340v1
- Date: Sat, 20 Apr 2024 10:27:01 GMT
- ステータス: 処理完了
- システム内更新日: 2024-04-23 19:29:41.193274
- Title: Large Language Models as Test Case Generators: Performance Evaluation and Enhancement
- Title(参考訳): テストケースジェネレータとしての大規模言語モデル:性能評価と拡張
- Authors: Kefan Li, Yuan Yuan,
- Abstract要約: 大規模言語モデルが高品質なテストケースをいかに生み出すかを検討する。
本稿では,テストインプットとテストアウトプットの生成を分離するemphTestChainというマルチエージェントフレームワークを提案する。
以上の結果から,TestChainはベースラインのマージンを大きく上回っていることが示唆された。
- 参考スコア(独自算出の注目度): 3.5398126682962587
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Code generation with Large Language Models (LLMs) has been extensively studied and achieved remarkable progress. As a complementary aspect to code generation, test case generation is of crucial importance in ensuring the quality and reliability of code. However, using LLMs as test case generators has been much less explored. Current research along this line primarily focuses on enhancing code generation with assistance from test cases generated by LLMs, while the performance of LLMs in test case generation alone has not been comprehensively examined. To bridge this gap, we conduct extensive experiments to study how well LLMs can generate high-quality test cases. We find that as the problem difficulty increases, state-of-the-art LLMs struggle to generate correct test cases, largely due to their inherent limitations in computation and reasoning. To mitigate this issue, we further propose a multi-agent framework called \emph{TestChain} that decouples the generation of test inputs and test outputs. Notably, TestChain uses a ReAct format conversation chain for LLMs to interact with a Python interpreter in order to provide more accurate test outputs. Our results indicate that TestChain outperforms the baseline by a large margin. Particularly, in terms of the accuracy of test cases, TestChain using GPT-4 as the backbone achieves a 13.84\% improvement over the baseline on the LeetCode-hard dataset.
- Abstract(参考訳): 大規模言語モデル(LLM)を用いたコード生成は広く研究され、目覚ましい進歩を遂げた。
コード生成の補完的な側面として、テストケースの生成は、コードの品質と信頼性を保証する上で非常に重要です。
しかし、LLMをテストケースジェネレータとして使うことは、あまり研究されていない。
この線に沿った現在の研究は、LLMが生成したテストケースの支援によるコード生成の強化に重点を置いているが、テストケース生成のみでのLCMのパフォーマンスは、包括的に検討されていない。
このギャップを埋めるため、我々はLLMがいかに高品質なテストケースを生成できるかを広範囲に実験する。
問題の難しさが増大するにつれて、現状のLLMは、計算や推論に固有の制限があるため、正しいテストケースを生成するのに苦労していることがわかった。
この問題を緩和するために、テストインプットとテストアウトプットの生成を分離する「emph{TestChain}」と呼ばれるマルチエージェントフレームワークを提案する。
特にTestChainは、より正確なテスト出力を提供するために、LLMのReActフォーマットの会話チェーンを使用してPythonインタプリタと対話する。
以上の結果から,TestChainはベースラインのマージンを大きく上回っていることが示唆された。
特に、テストケースの精度の面では、GPT-4をバックボーンとして使用するTestChainは、LeetCode-hardデータセットのベースラインよりも13.84.%改善されている。
関連論文リスト
- ProjectTest: A Project-level LLM Unit Test Generation Benchmark and Impact of Error Fixing Mechanisms [48.43237545197775]
単体テスト生成はLLMの有望かつ重要なユースケースとなっている。
ProjectTestは、Python、Java、JavaScriptをカバーするユニットテスト生成のためのプロジェクトレベルのベンチマークである。
論文 参考訳(メタデータ) (2025-02-10T15:24:30Z) - Improving the Readability of Automatically Generated Tests using Large Language Models [7.7149881834358345]
探索型ジェネレータの有効性とLLM生成試験の可読性を組み合わせることを提案する。
提案手法は,検索ツールが生成するテスト名や変数名の改善に重点を置いている。
論文 参考訳(メタデータ) (2024-12-25T09:08:53Z) - ASTER: Natural and Multi-language Unit Test Generation with LLMs [6.259245181881262]
静的解析を組み込んだジェネリックパイプラインを記述し,コンパイル可能な高カバレッジテストケースの生成においてLCMをガイドする。
コードカバレッジとテスト自然性の観点から,生成したテストの品質を評価するための実証的研究を行った。
論文 参考訳(メタデータ) (2024-09-04T21:46:18Z) - What's Wrong with Your Code Generated by Large Language Models? An Extensive Study [80.18342600996601]
大規模言語モデル(LLM)は、標準解に比べて短いがより複雑なコードを生成する。
3つのカテゴリと12のサブカテゴリを含む誤ったコードに対するバグの分類を開発し、一般的なバグタイプに対する根本原因を分析する。
そこで本研究では,LLMがバグタイプやコンパイラフィードバックに基づいて生成したコードを批判し,修正することのできる,自己批判を導入した新たな学習自由反復手法を提案する。
論文 参考訳(メタデータ) (2024-07-08T17:27:17Z) - DARG: Dynamic Evaluation of Large Language Models via Adaptive Reasoning Graph [70.79413606968814]
本稿では,適応推論グラフ展開(DARG)によるLCMの動的評価を導入し,複雑性と多様性を制御した現在のベンチマークを動的に拡張する。
具体的には、まず現在のベンチマークでデータポイントの推論グラフを抽出し、それから推論グラフを摂動させて新しいテストデータを生成する。
このような新しく生成されたテストサンプルは、元のベンチマークと同様の言語的多様性を維持しながら、複雑さのレベルが異なる可能性がある。
論文 参考訳(メタデータ) (2024-06-25T04:27:53Z) - SWT-Bench: Testing and Validating Real-World Bug-Fixes with Code Agents [10.730852617039451]
ユーザ問題をテストケースに形式化するLLMベースのコードエージェントについて検討する。
我々は人気のあるGitHubリポジトリに基づいた新しいベンチマークを提案し、現実世界の問題、地味なバグフィックス、ゴールデンテストを含む。
コード修復用に設計されたコードエージェントは,テスト生成用に設計されたシステムの性能を上回っている。
論文 参考訳(メタデータ) (2024-06-18T14:54:37Z) - StepCoder: Improve Code Generation with Reinforcement Learning from
Compiler Feedback [58.20547418182074]
2つの主要コンポーネントからなるコード生成の新しいフレームワークであるStepCoderを紹介します。
CCCSは、長いシーケンスのコード生成タスクをCurriculum of Code Completion Subtaskに分割することで、探索課題に対処する。
FGOは、未実行のコードセグメントをマスクすることでのみモデルを最適化し、Fine-Grained Optimizationを提供する。
提案手法は,出力空間を探索し,対応するベンチマークにおいて最先端の手法より優れた性能を発揮する。
論文 参考訳(メタデータ) (2024-02-02T13:14:31Z) - Code-Aware Prompting: A study of Coverage Guided Test Generation in Regression Setting using LLM [32.44432906540792]
テスト生成における大規模言語モデルのコード認識促進戦略であるSymPromptを提案する。
SymPromptは、正しいテスト世代を5倍に増やし、CodeGen2の相対カバレッジを26%向上させる。
特に、GPT-4に適用すると、SymPromptはベースラインのプロンプト戦略に比べて2倍以上のカバレッジが向上する。
論文 参考訳(メタデータ) (2024-01-31T18:21:49Z) - Effective Test Generation Using Pre-trained Large Language Models and
Mutation Testing [13.743062498008555]
大規模言語モデル(LLM)が生成するテストケースの有効性を,バグの発見の観点から改善するための MuTAP を導入する。
MuTAPは、プログラム・アンダー・テスト(PUT)の自然言語記述がない場合に有効なテストケースを生成することができる
提案手法は, 最大28%の人書きコードスニペットを検出できることを示す。
論文 参考訳(メタデータ) (2023-08-31T08:48:31Z) - LEVER: Learning to Verify Language-to-Code Generation with Execution [64.36459105535]
本稿では,プログラムの実行結果の検証を学習することで,言語からコードへの生成を改善するシンプルな手法であるLEVERを提案する。
具体的には、LLMからサンプリングされたプログラムが、自然言語入力、プログラム自体とその実行結果に基づいて正しいか否かを判定するために、検証者を訓練する。
LEVER はベースコード LLMs (4.6% から 10.9% まで) を継続的に改善し、それらすべてに対して新しい最先端の結果を得る。
論文 参考訳(メタデータ) (2023-02-16T18:23:22Z) - CodeT: Code Generation with Generated Tests [49.622590050797236]
テストケースを自動的に生成するための事前学習言語モデルについて検討する。
CodeTは生成されたテストケースを使ってコードソリューションを実行し、次に最良のソリューションを選択します。
我々は,HumanEvalとMBPPのベンチマークを用いて,5種類の事前学習モデル上でCodeTを評価する。
論文 参考訳(メタデータ) (2022-07-21T10:18:37Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。