論文の概要: YATE: The Role of Test Repair in LLM-Based Unit Test Generation
- arxiv url: http://arxiv.org/abs/2507.18316v1
- Date: Thu, 24 Jul 2025 11:32:31 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-07-25 15:10:43.523377
- Title: YATE: The Role of Test Repair in LLM-Based Unit Test Generation
- Title(参考訳): YATE:LLMベースの単体テスト生成におけるテスト修復の役割
- Authors: Michael Konstantinou, Renzo Degiovanni, Jie M. Zhang, Mark Harman, Mike Papadakis,
- Abstract要約: 本稿では,ルールベースの静的解析と再試行を組み合わせることで,これらの不正なテストのいくつかを修復する手法を提案する。
このシンプルなアプローチであるYATEを、6つのオープンソースプロジェクトのセットで評価する。
YATEは22%のラインカバレッジ、20%のブランチカバレッジ、20%のミュータントを同等のコストで削減する。
- 参考スコア(独自算出の注目度): 22.67442101368384
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Recent advances in automated test generation utilises language models to produce unit tests. While effective, language models tend to generate many incorrect tests with respect to both syntax and semantics. Although such incorrect tests can be easily detected and discarded, they constitute a "missed opportunity" -- if fixed, they are often valuable as they directly add testing value (they effectively target the underlying program logic to be tested) and indirectly form good seeds for generating additional tests. To this end, we propose a simple technique for repairing some of these incorrect tests through a combination of rule-based static analysis and re-prompting. We evaluate this simple approach, named YATE, on a set of 6 open-source projects and show that it can effectively produce tests that cover on average 32.06% more lines and kill 21.77% more mutants than a plain LLM-based method. We also compare YATE with four other LLM-based methods, namely HITS, SYMPROMPT, TESTSPARK and COVERUP and show that it produces tests that cover substantially more code. YATE achieves 22% higher line coverage, 20% higher branch coverage and kill 20% more mutants at a comparable cost (number of calls to LLMs).
- Abstract(参考訳): 自動テスト生成の最近の進歩は、言語モデルを利用して単体テストを生成する。
効果的な言語モデルは、構文と意味論の両方に関して多くの誤ったテストを生成する傾向がある。
このような誤ったテストは簡単に検出および破棄できますが、それらは"欠落した機会"を形成します -- 固定された場合には、テスト値を直接追加する(テスト対象となるプログラムロジックを効果的にターゲットする)と同時に、追加のテストを生成するための優れたシードを間接的に生成するので、多くの場合、価値があります。
そこで本研究では,ルールベースの静的解析と再試行を組み合わせることで,これらの不正なテストのいくつかを修復する簡単な手法を提案する。
この単純なアプローチであるYATEを6つのオープンソースプロジェクトのセットで評価し、平均32.06%以上の行をカバーし、通常のLCM法よりも21.77%多くのミュータントを殺すことができることを示した。
また、YATEとHITS、SYMPROMPT、TESTSPARK、COVERUPの4つのLCMベースのメソッドを比較し、さらに多くのコードをカバーするテストを生成することを示す。
YATEは22%高いラインカバレッジ、20%高いブランチカバレッジ、20%以上のミュータントを同等のコストで(LSMへの呼び出し数)殺している。
関連論文リスト
- Boosting Rust Unit Test Coverage through Hybrid Program Analysis and Large Language Models [14.536415473544146]
本稿では,大規模言語モデル(LLM)を活用して高カバレッジ単体テストを生成する手法であるPALMを提案する。
PALMはプログラム解析を行い、関数内の分岐条件を特定し、それを経路制約に結合する。
このアプローチを実装し、それを10のオープンソースのRustクラッドで評価します。
論文 参考訳(メタデータ) (2025-06-10T17:21:21Z) - 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 は他の LLM ベースラインを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) - AIME: AI System Optimization via Multiple LLM Evaluators [79.03422337674664]
AIME は複数の LLM を利用した評価プロトコルであり、それぞれが独立した基準で評価を生成し、結合を通してそれらを結合する。
コード生成タスクにおける AIME のベースラインメソッドのパフォーマンスは,LeetCodeHard と HumanEval データセットの単一 LLM 評価プロトコルよりも最大 62% 高いエラー検出率,最大 16% 高い成功率で向上している。
論文 参考訳(メタデータ) (2024-10-04T04:03:24Z) - TestART: Improving LLM-based Unit Testing via Co-evolution of Automated Generation and Repair Iteration [7.509927117191286]
大規模言語モデル(LLM)は、単体テストケースを生成する際、顕著な能力を示した。
本研究では,新しい単体テスト生成法であるTestARTを提案する。
TestARTは、自動生成と修復の反復の共進化を通じて、LLMベースのユニットテストを改善している。
論文 参考訳(メタデータ) (2024-08-06T10:52:41Z) - GPT-HateCheck: Can LLMs Write Better Functional Tests for Hate Speech Detection? [50.53312866647302]
HateCheckは、合成データに対してきめ細かいモデル機能をテストするスイートである。
GPT-HateCheckは,スクラッチからより多彩で現実的な機能テストを生成するフレームワークである。
クラウドソースのアノテーションは、生成されたテストケースが高品質であることを示しています。
論文 参考訳(メタデータ) (2024-02-23T10:02:01Z) - 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) - Self-Evaluation Improves Selective Generation in Large Language Models [54.003992911447696]
オープンエンド生成タスクをトークンレベルの予測タスクに再構成する。
我々はLSMに答えを自己評価するように指示する。
自己評価に基づくスコアリング手法をベンチマークする。
論文 参考訳(メタデータ) (2023-12-14T19:09:22Z) - Effective Test Generation Using Pre-trained Large Language Models and
Mutation Testing [13.743062498008555]
大規模言語モデル(LLM)が生成するテストケースの有効性を,バグの発見の観点から改善するための MuTAP を導入する。
MuTAPは、プログラム・アンダー・テスト(PUT)の自然言語記述がない場合に有効なテストケースを生成することができる
提案手法は, 最大28%の人書きコードスニペットを検出できることを示す。
論文 参考訳(メタデータ) (2023-08-31T08:48:31Z) - LLMs as Factual Reasoners: Insights from Existing Benchmarks and Beyond [135.8013388183257]
そこで我々は,SummEditsと呼ばれる10ドメインのベンチマークで不整合検出ベンチマークを作成し,実装する新しいプロトコルを提案する。
ほとんどのLLMはSummEditsで苦労しており、パフォーマンスはランダムに近い。
最も優れたモデルであるGPT-4は、推定された人間のパフォーマンスよりも8%低い。
論文 参考訳(メタデータ) (2023-05-23T21:50:06Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。