要旨: 大規模言語モデル(LLM)は、プロジェクト単位のユニットテストを生成するうえで強い可能性を示してきた。しかし、既存の最先端アプローチは主として、プロンプト構築を導くための実行パス情報に依存しており、クラス間の依存関係が豊富で、深い呼び出し(コール)チェーンを持ち、複雑なオブジェクトの初期化要件があるような複雑なソフトウェアシステムでは、多くの場合十分ではない。本論文では、専用の静的解析を通じて、呼び出しチェーンと依存関係のコンテキストをプロンプトに明示的に組み込む、呼び出しチェーン対応型の新しいLLMベースのテスト生成手法であるCATを提案する。実行可能で、意味的に妥当なテストコンテキストを構築するために、CATは呼び出し元—呼び出し先の関係、オブジェクトのコンストラクタ、および第三者依存関係を体系的にモデル化し、生成失敗が起きた場合の反復的なテスト修正をサポートする。CATを広く用いられているDefects4Jベンチマーク、およびLLMのカットオフ日以降にリリースされた実世界の4つのGitHubプロジェクトで評価する。その結果、Defects4Jの各プロジェクトにおいて、CATは最先端手法PANTAに比べて、それぞれ行カバレッジを18.04%、分岐カバレッジを21.74%改善することが示される。さらに、カットオフ後の実世界プロジェクトに対しても一貫して優れた性能を達成している。アブレーションスタディにより、CATにおける呼び出しチェーンと依存関係コンテキストの重要性も明らかになる。
コールチェーンを考慮したLLMベースのJavaプロジェクト向けテスト生成
arXiv cs.AI / 2026/4/27
💬 オピニオンTools & Practical UsageModels & Research
要点
- 本論文は、静的解析を用いてプロンプトにコールチェーンと依存関係の文脈を組み込む「CAT」という、コールチェーンを考慮したLLMベースのJava単体テスト生成手法を提案している。
- 実行経路情報だけに依存する既存の手法に対し、CATは呼び出し元–呼び出し先の関係、オブジェクトのコンストラクタ、サードパーティ依存関係をモデル化することで、実行可能かつ意味的に妥当なテスト文脈の生成を支援する。
- 生成したテストが最初に失敗した場合に備え、反復的なテスト修正(test fixing)機構を備えており、生成の頑健性を高めている。
- Defects4Jベンチマークでは、CATは最先端手法PANTAに比べて行カバレッジを18.04%、分岐カバレッジを21.74%向上させた。
- さらに、LLMのカットオフ後に公開された4つの実世界GitHubプロジェクトでも優れた性能を示し、アブレーション研究によりコールチェーンと依存関係文脈の重要性が裏付けられている。



