論文の概要: LLM-based Mockless Unit Test Generation for Java
- arxiv url: http://arxiv.org/abs/2605.26851v1
- Date: Tue, 26 May 2026 11:08:04 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-05-27 17:51:41.96103
- Title: LLM-based Mockless Unit Test Generation for Java
- Title(参考訳): LLMベースのJava用モックレスユニットテスト生成
- Authors: Qinghua Xu, Guancheng Wang, Lionel Briand, Zhaoqiang Guo, Kui Liu,
- Abstract要約: MocklessTesterは、コンテキスト強化と制約強化の2つの戦略を中心に構築された、モックレスなユニットテスト生成アプローチである。
結果は、MocklessTesterが2つのベンチマークでそれぞれ19.99%、22.69%、ブランチカバレッジが24.90%、15.78%改善していることを示している。
テスト中のクラス以外にも、MocklessTesterは、依存性クラスにそれぞれ378行と55行を追加して、より実際の依存性コードを実行する。
- 参考スコア(独自算出の注目度): 3.252804601979776
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Large language models (LLMs) have shown strong potential for automated test generation, yet most approaches to generating Java unit tests still rely on mocking frameworks to handle dependencies. Mockless test generation could exercise more real low-level code, but it faces challenges such as invalid test code generation due to hallucination, strict language constraints, and inadequate dependency awareness. We identify two causes behind these hallucinations: not knowing, where the LLM lacks sufficient context, and not following, where the LLM fails to comply with constraints even when they are provided. We present MocklessTester, a mockless unit test generation approach built around two strategies: context-enriched generation and constraint-enforced fixing. To mitigate not knowing, context-enriched generation mines real usage patterns from existing code to generate tests. To mitigate not following, constraint-enforced fixing performs two-stage repair under symbol-, protocol-, and iteration-level constraints, using a ClassIndex, a Markov typestate model, and experience memory. We evaluate MocklessTester against the state-of-the-art baseline on Defects4J and Deps4J. Results show that MocklessTester improves line coverage by 19.99% and 22.69% and branch coverage by 24.90% and 15.78% on the two benchmarks, respectively, and improves mutation score by 13.67% and 0.17%. Beyond the class under test, MocklessTester also exercises more real dependency code, covering 378 and 55 additional lines in dependency classes, respectively. The improvement in test quality comes with higher total token and time costs than the baseline. Nevertheless, the cost per method remains practical, averaging 108.97 seconds and 26.59k tokens on Defects4J, and 69.85 seconds and 25.46k tokens on Deps4J. Ablation results confirm that all major components contribute positively to the final performance.
- Abstract(参考訳): 大規模な言語モデル(LLM)は自動テスト生成の可能性を強く示していますが、Java単体テストを生成するほとんどのアプローチは、依存を処理するためのモックフレームワークに依存しています。
モックレステスト生成は、より実際の低レベルコードを実行することができるが、幻覚による無効なテストコード生成、厳格な言語制約、依存性の認識の不十分といった課題に直面している。
これらの幻覚の背後にある2つの原因は、LLMが十分な文脈を欠いていること、LLMが提供されても制約に従わないことの2つである。
MocklessTesterは、コンテキスト強化と制約強化の2つの戦略を中心に構築された、モックレスなユニットテスト生成アプローチである。
知らないことを軽減するために、コンテキストに富んだ生成は、既存のコードから実際の使用パターンをマイニングしてテストを生成する。
従わないために、制約強化された修正は、ClassIndex、Markovの型ステートモデル、経験メモリを使用して、シンボル、プロトコル、イテレーションレベルの制約の下で2段階の修復を行う。
我々は、Defects4JとDeps4Jの最先端ベースラインに対してMocklessTesterを評価した。
結果は、MocklessTesterがラインカバレッジを19.99%、22.69%、ブランチカバレッジを24.90%、そして15.78%改善し、突然変異スコアを13.67%、0.17%改善していることを示している。
テスト中のクラス以外にも、MocklessTesterは、依存性クラスにそれぞれ378行と55行を追加して、より実際の依存性コードを実行する。
テスト品質の改善は、ベースラインよりも合計トークンと時間コストが高くなる。
それでも、平均108.97秒と26.59kトークンがDefects4Jに、69.85秒と25.46kトークンがDeps4Jに使われている。
アブレーションの結果、すべての主要コンポーネントが最終的なパフォーマンスに肯定的な貢献をすることを確認した。
関連論文リスト
- Are Benchmark Tests Strong Enough? Mutation-Guided Diagnosis and Augmentation of Regression Suites [49.16055123488827]
十分に強力なテストスイートは、報告された成功率を膨らませながら、妥当だが意味的に正しくないパッチを認めることができる。
STINGは、意味的に変化するプログラムの変種を診断ストレス要因として利用する、ターゲットテスト拡張のためのフレームワークである。
STINGは211インスタンスにまたがる1014の検証テストを生成し、パッチリージョンラインとブランチカバレッジを10.8%、9.5%向上させた。
論文 参考訳(メタデータ) (2026-04-02T01:13:40Z) - Code-A1: Adversarial Evolving of Code LLM and Test LLM via Reinforcement Learning [54.95476453942411]
コード生成のための強化学習は、単体テストのパスレートから検証可能な報酬に依存する。
最近のセルフプレイ手法は、1つのモデルでコードとテスト生成を統合する。
Code-A1は、人間のアノテーションによるテストでトレーニングされたコード生成のパフォーマンスマッチングまたはモデルを超えることを実現する。
論文 参考訳(メタデータ) (2026-03-16T17:58:13Z) - Nexus: Execution-Grounded Multi-Agent Test Oracle Synthesis [57.40527331817245]
非回帰テストにおけるテストオラクル生成は、ソフトウェア工学における長年の課題である。
この課題に対処するための新しいマルチエージェントフレームワークであるNexusを紹介します。
論文 参考訳(メタデータ) (2025-10-30T12:20:25Z) - YATE: The Role of Test Repair in LLM-Based Unit Test Generation [22.67442101368384]
本稿では,ルールベースの静的解析と再試行を組み合わせることで,これらの不正なテストのいくつかを修復する手法を提案する。
このシンプルなアプローチであるYATEを、6つのオープンソースプロジェクトのセットで評価する。
YATEは22%のラインカバレッジ、20%のブランチカバレッジ、20%のミュータントを同等のコストで削減する。
論文 参考訳(メタデータ) (2025-07-24T11:32:31Z) - Learning to Generate Unit Tests for Automated Debugging [52.63217175637201]
ユニットテスト(UT)は、コードの正確性を評価するだけでなく、大きな言語モデル(LLM)にフィードバックを提供する上でも重要な役割を果たします。
提案するUTGenは,LLMに対して,予測出力とともにエラーを示す単体テスト入力を生成することを教える。
UTGen は他の LLM ベースラインを7.59% 上回っていることを示す。
論文 参考訳(メタデータ) (2025-02-03T18:51:43Z) - 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) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。