論文の概要: 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のパワーを生かし,本質的な欠陥を克服し,高品質な単体テストケースを作成できることが示唆された。
関連論文リスト
- Context-Aware Testing: A New Paradigm for Model Testing with Large Language Models [49.06068319380296]
我々は,コンテキストを帰納バイアスとして用いて意味のあるモデル障害を探索するコンテキスト認識テスト(CAT)を導入する。
最初のCATシステムSMART Testingをインスタンス化し、大きな言語モデルを用いて、関連性があり、起こりうる失敗を仮説化します。
論文 参考訳(メタデータ) (2024-10-31T15:06:16Z) - Test smells in LLM-Generated Unit Tests [11.517293765116307]
本研究では,大規模言語モデルの生成した単体テストスイートにおけるテストの匂いの拡散について検討する。
5つのプロンプトエンジニアリング技術で4つのモデルで生成された20,500 LLM生成テストスイートのベンチマークを解析した。
我々は,LLM生成テストスイートと筆記テストスイートの両方において,種々のテスト匂いの出現頻度と発生頻度を同定し,解析する。
論文 参考訳(メタデータ) (2024-10-14T15:35:44Z) - Test Oracle Automation in the era of LLMs [52.69509240442899]
大規模言語モデル(LLM)は、多様なソフトウェアテストタスクに取り組むのに顕著な能力を示した。
本研究の目的は, 各種のオラクル生成時に生じる課題とともに, LLMs によるオラクルの自動化の可能性について検討することである。
論文 参考訳(メタデータ) (2024-05-21T13:19:10Z) - 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) - 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) - No More Manual Tests? Evaluating and Improving ChatGPT for Unit Test Generation [11.009117714870527]
単体テストは、機能的に分離されたプログラムユニットのバグを検出するのに不可欠である。
最近の研究は、ユニットテスト生成における大きな言語モデル(LLM)の可能性を示している。
ChatGPTがユニット・テスト・ジェネレーションでどの程度有効かは不明だ。
論文 参考訳(メタデータ) (2023-05-07T07:17:08Z) - CodeT: Code Generation with Generated Tests [49.622590050797236]
テストケースを自動的に生成するための事前学習言語モデルについて検討する。
CodeTは生成されたテストケースを使ってコードソリューションを実行し、次に最良のソリューションを選択します。
我々は,HumanEvalとMBPPのベンチマークを用いて,5種類の事前学習モデル上でCodeTを評価する。
論文 参考訳(メタデータ) (2022-07-21T10:18:37Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。