論文の概要: AugmenTest: Enhancing Tests with LLM-Driven Oracles
- arxiv url: http://arxiv.org/abs/2501.17461v1
- Date: Wed, 29 Jan 2025 07:45:41 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-01-30 15:52:14.576561
- Title: AugmenTest: Enhancing Tests with LLM-Driven Oracles
- Title(参考訳): AugmenTest: LLM駆動のOracleによるテストの強化
- Authors: Shaker Mahmud Khandaker, Fitsum Kifetew, Davide Prandi, Angelo Susi,
- Abstract要約: AugmenTestは、大規模な言語モデルを活用して、テスト中のソフトウェアの利用可能なドキュメントに基づいて、正しいオーラクルを推測するアプローチである。
AugmenTestには4つのバリエーションがある: Simple Prompt、Extended Prompt、ジェネリックプロンプト付きRAG(テスト中のクラスやメソッドのコンテキストなしで)とSimple Prompt付きRAG。
結果は、最も保守的なシナリオでは、AugmenTestのExtended PromptがSimple Promptを一貫して上回り、正しいアサーションを生成するために30%の成功率を達成したことを示している。
- 参考スコア(独自算出の注目度): 2.159639193866661
- License:
- Abstract: Automated test generation is crucial for ensuring the reliability and robustness of software applications while at the same time reducing the effort needed. While significant progress has been made in test generation research, generating valid test oracles still remains an open problem. To address this challenge, we present AugmenTest, an approach leveraging Large Language Models (LLMs) to infer correct test oracles based on available documentation of the software under test. Unlike most existing methods that rely on code, AugmenTest utilizes the semantic capabilities of LLMs to infer the intended behavior of a method from documentation and developer comments, without looking at the code. AugmenTest includes four variants: Simple Prompt, Extended Prompt, RAG with a generic prompt (without the context of class or method under test), and RAG with Simple Prompt, each offering different levels of contextual information to the LLMs. To evaluate our work, we selected 142 Java classes and generated multiple mutants for each. We then generated tests from these mutants, focusing only on tests that passed on the mutant but failed on the original class, to ensure that the tests effectively captured bugs. This resulted in 203 unique tests with distinct bugs, which were then used to evaluate AugmenTest. Results show that in the most conservative scenario, AugmenTest's Extended Prompt consistently outperformed the Simple Prompt, achieving a success rate of 30\% for generating correct assertions. In comparison, the state-of-the-art TOGA approach achieved 8.2\%. Contrary to our expectations, the RAG-based approaches did not lead to improvements, with performance of 18.2\% success rate for the most conservative scenario.
- Abstract(参考訳): 自動テスト生成は、ソフトウェアアプリケーションの信頼性と堅牢性を保証すると同時に、必要な労力を削減するために不可欠である。
テスト生成の研究では大きな進歩があったが、有効なテストオラクルの生成は依然として未解決の問題である。
この課題に対処するために、AugmenTestを紹介します。これは、Large Language Models(LLMs)を利用して、テスト中のソフトウェアの利用可能なドキュメントに基づいて、正しいオーラクルを推測するアプローチです。
コードに依存する既存のほとんどのメソッドとは異なり、AugmenTestはLLMのセマンティック機能を利用して、コードを見ることなく、ドキュメントや開発者コメントからメソッドの意図した振る舞いを推測する。
AugmenTestには4つのバリエーションがある: Simple Prompt、Extended Prompt、ジェネリックプロンプト付きRAG(テスト中のクラスやメソッドのコンテキストなしで)とSimple Prompt付きRAG。
作業を評価するため、私たちは142のJavaクラスを選択し、それぞれに複数のミュータントを生成しました。
その後、これらのミュータントからテストを生成し、ミュータントに渡され、元のクラスで失敗したテストのみに焦点を当てて、テストが効果的にバグを捕捉することを保証しました。
その結果、異なるバグを持つ203のユニークなテストがAugmenTestの評価に使用された。
その結果、最も保守的なシナリオでは、AugmenTestのExtended PromptがSimple Promptを一貫して上回り、正しいアサーションを生成するために30倍の成功率を達成した。
比較すると、最先端のTOGAアプローチは8.2\%に達した。
予想とは対照的に、RAGベースのアプローチは改善には至らず、最も保守的なシナリオでは18.2\%の成功率であった。
関連論文リスト
- 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) - Learning to Generate Unit Tests for Automated Debugging [52.63217175637201]
ユニットテスト(UT)は、コードの正確性を評価するだけでなく、大きな言語モデル(LLM)へのフィードバックを提供する上でも重要な役割を果たします。
提案するUTGenは,LLMに対して,予測出力とともにエラーを示す単体テスト入力を生成することを教える。
UTGenがUT生成ベースラインを7.59%向上させることを示す。
論文 参考訳(メタデータ) (2025-02-03T18:51:43Z) - TestGenEval: A Real World Unit Test Generation and Test Completion Benchmark [24.14654309612826]
TestGenEvalは、1,210のコードから68,647のテストと、11の保守されたPythonリポジトリにまたがるテストファイルペアで構成されている。
初期テストのオーサリング、テストスイートの補完、コードカバレッジの改善をカバーしている。
パラメータは7Bから405Bまで様々である。
論文 参考訳(メタデータ) (2024-10-01T14:47:05Z) - TestART: Improving LLM-based Unit Testing via Co-evolution of Automated Generation and Repair Iteration [7.833381226332574]
大規模言語モデル(LLM)は、単体テストケースを生成する際、顕著な能力を示した。
本研究では,新しい単体テスト生成法であるTestARTを提案する。
TestARTは、自動生成と修復の反復の共進化を通じて、LLMベースのユニットテストを改善している。
論文 参考訳(メタデータ) (2024-08-06T10:52:41Z) - STAMP: Outlier-Aware Test-Time Adaptation with Stable Memory Replay [76.06127233986663]
テスト時間適応(TTA)は、トレーニングデータとテストデータの間の分散シフトに、未ラベルのデータのみを用いて対処することを目的としている。
本稿では,サンプル認識とオフリエ拒絶の両方を行う問題に注意を払っている。
本稿では,STAble Memory rePlay (STAMP) と呼ばれる新しい手法を提案する。
論文 参考訳(メタデータ) (2024-07-22T16:25:41Z) - LLM-Powered Test Case Generation for Detecting Tricky Bugs [30.82169191775785]
AIDは、少なくとも正しいプログラムをターゲットにしたテスト入力とオラクルを生成する。
TrickyBugs と EvalPlus の2つの大規模データセットに対する AID の評価を行った。
その結果,AIDのリコール,精度,F1スコアは,それぞれ1.80x,2.65x,1.66xに優れていた。
論文 参考訳(メタデータ) (2024-04-16T06:20:06Z) - Observation-based unit test generation at Meta [52.4716552057909]
TestGenは、アプリケーション実行中に観察された複雑なオブジェクトのシリアライズされた観察から作られたユニットテストを自動的に生成する。
TestGenは518のテストを本番環境に投入し、継続的統合で9,617,349回実行され、5,702の障害が見つかった。
評価の結果,信頼性の高い4,361のエンドツーエンドテストから,少なくとも86%のクラスでテストを生成することができた。
論文 参考訳(メタデータ) (2024-02-09T00:34:39Z) - 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) - Towards Automatic Generation of Amplified Regression Test Oracles [44.45138073080198]
回帰テストオラクルを増幅するためのテストオラクル導出手法を提案する。
このアプローチはテスト実行中にオブジェクトの状態を監視し、以前のバージョンと比較して、SUTの意図した振る舞いに関連する変更を検出する。
論文 参考訳(メタデータ) (2023-07-28T12:38:44Z) - CodeT: Code Generation with Generated Tests [49.622590050797236]
テストケースを自動的に生成するための事前学習言語モデルについて検討する。
CodeTは生成されたテストケースを使ってコードソリューションを実行し、次に最良のソリューションを選択します。
我々は,HumanEvalとMBPPのベンチマークを用いて,5種類の事前学習モデル上でCodeTを評価する。
論文 参考訳(メタデータ) (2022-07-21T10:18:37Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。