論文の概要: TestART: Improving LLM-based Unit Testing via Co-evolution of Automated Generation and Repair Iteration
- arxiv url: http://arxiv.org/abs/2408.03095v5
- Date: Sat, 21 Dec 2024 12:51:04 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-12-24 15:53:52.640032
- Title: TestART: Improving LLM-based Unit Testing via Co-evolution of Automated Generation and Repair Iteration
- Title(参考訳): TestART: 自動生成と修復イテレーションの共進化によるLCMベースのユニットテストの改善
- Authors: Siqi Gu, Quanjun Zhang, Chunrong Fang, Fangyuan Tian, Liuchuan Zhu, Jianyi Zhou, Zhenyu Chen,
- Abstract要約: 大規模言語モデル(LLM)は、単体テストケースを生成する際、顕著な能力を示した。
本研究では,新しい単体テスト生成法であるTestARTを提案する。
TestARTは、自動生成と修復の反復の共進化を通じて、LLMベースのユニットテストを改善している。
- 参考スコア(独自算出の注目度): 7.833381226332574
- License:
- Abstract: Unit testing is crucial for detecting bugs in individual program units but consumes time and effort. Recently, large language models (LLMs) have demonstrated remarkable capabilities in generating unit test cases. However, several problems limit their ability to generate high-quality unit test cases: (1) compilation and runtime errors caused by the hallucination of LLMs; (2) lack of testing and coverage feedback information restricting the increase of code coverage;(3) the repetitive suppression problem causing invalid LLM-based repair and generation attempts. To address these limitations, we propose TestART, a novel unit test generation method. TestART improves LLM-based unit testing via co-evolution of automated generation and repair iteration, representing a significant advancement in automated unit test generation. TestART leverages the template-based repair strategy to effectively fix bugs in LLM-generated test cases for the first time. Meanwhile, TestART extracts coverage information from successful test cases and uses it as coverage-guided testing feedback. It also incorporates positive prompt injection to prevent repetition suppression, thereby enhancing the sufficiency of the final test case. This synergy between generation and repair elevates the correctness and sufficiency of the produced test cases significantly beyond previous methods. In comparative experiments, TestART demonstrates an 18% improvement in pass rate and a 20% enhancement in coverage across three types of datasets compared to baseline models. Additionally, it achieves better coverage rates than EvoSuite with only half the number of test cases. These results demonstrate TestART's superior ability to produce high-quality unit test cases by harnessing the power of LLMs while overcoming their inherent flaws.
- Abstract(参考訳): 単体テストは個々のプログラムユニットのバグを検出するのに不可欠だが、時間と労力を消費する。
近年,大規模言語モデル (LLM) は単体テストケースの生成において顕著な能力を示した。
しかし,(1)LLMの幻覚によるコンパイルと実行時のエラー,(2)コードカバレッジの増加を制限するテストとカバレッジのフィードバック情報の欠如,(3)LLMの修復と生成を無効にする反復的抑制問題など,高品質な単体テストケースを生成する能力に制限がある。
これらの制約に対処するため,新しい単体テスト生成法であるTestARTを提案する。
TestARTは、自動生成と修復の反復の共進化を通じてLLMベースの単体テストを改善し、自動単体テスト生成の大幅な進歩を示している。
TestARTはテンプレートベースの修復戦略を活用して、LLM生成のテストケースで最初にバグを効果的に修正する。
一方TestARTは、成功したテストケースからカバレッジ情報を抽出し、カバレッジ誘導テストフィードバックとして使用する。
また、前向きなプロンプト注入を組み込んで反復抑制を防ぎ、最終テストケースの十分性を高める。
この生成と修復の相乗効果は、生成した試験ケースの正当性と正当性を高める。
比較実験では、TestARTはパスレートが18%改善し、ベースラインモデルと比較して3種類のデータセットのカバレッジが20%向上した。
さらに、テストケースの半数しか持たないEvoSuiteよりもカバレッジ率の向上を実現している。
これらの結果から,LLMのパワーを生かし,本質的な欠陥を克服し,高品質な単体テストケースを作成できることが示唆された。
関連論文リスト
- 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) - AugmenTest: Enhancing Tests with LLM-Driven Oracles [2.159639193866661]
AugmenTestは、大規模な言語モデルを活用して、テスト中のソフトウェアの利用可能なドキュメントに基づいて、正しいオーラクルを推測するアプローチである。
AugmenTestには4つのバリエーションがある: Simple Prompt、Extended Prompt、ジェネリックプロンプト付きRAG(テスト中のクラスやメソッドのコンテキストなしで)とSimple Prompt付きRAG。
結果は、最も保守的なシナリオでは、AugmenTestのExtended PromptがSimple Promptを一貫して上回り、正しいアサーションを生成するために30%の成功率を達成したことを示している。
論文 参考訳(メタデータ) (2025-01-29T07:45:41Z) - LlamaRestTest: Effective REST API Testing with Small Language Models [50.058600784556816]
LlamaRestTestは、2つのカスタムLCMを使って現実的なテストインプットを生成する新しいアプローチである。
LlamaRestTestは、RESTGPTで強化された仕様でさえ、コードカバレッジとエラー検出において最先端のツールを上回っている。
論文 参考訳(メタデータ) (2025-01-15T05:51:20Z) - Dynamic Scaling of Unit Tests for Code Reward Modeling [27.349232888627558]
現在の大規模言語モデル(LLM)は、コード生成のような複雑な推論タスクの最初の試みにおいて、正確な応答を生成するのに苦労することが多い。
高速かつ高品質な単体テストスケーリングを実現する軽量で効率的な単体テストジェネレータであるCodeRM-8Bを提案する。
論文 参考訳(メタデータ) (2025-01-02T04:33:31Z) - Large Language Models as Test Case Generators: Performance Evaluation and Enhancement [3.5398126682962587]
大規模言語モデルが高品質なテストケースをいかに生み出すかを検討する。
本稿では,テストインプットとテストアウトプットの生成を分離するemphTestChainというマルチエージェントフレームワークを提案する。
以上の結果から,TestChainはベースラインのマージンを大きく上回っていることが示唆された。
論文 参考訳(メタデータ) (2024-04-20T10:27:01Z) - GPT-HateCheck: Can LLMs Write Better Functional Tests for Hate Speech Detection? [50.53312866647302]
HateCheckは、合成データに対してきめ細かいモデル機能をテストするスイートである。
GPT-HateCheckは,スクラッチからより多彩で現実的な機能テストを生成するフレームワークである。
クラウドソースのアノテーションは、生成されたテストケースが高品質であることを示しています。
論文 参考訳(メタデータ) (2024-02-23T10:02:01Z) - 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) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。