探索を計画する:LLMテスト生成のための好奇心駆動型プランニング

arXiv cs.CL / 2026/4/8

💬 オピニオンIdeas & Deep AnalysisModels & Research

要点

  • 本論文は、LLMベースのコードテスト生成が、即時のカバレッジ獲得を優先する貪欲戦略によって頭打ちになる問題を扱う。そこでは、準備となるセットアップ手順を要する深い分岐を計画できず、十分に到達できない。
  • 提案手法は、好奇心駆動型のプランニングアプローチ CovQValue である。これはプログラムの分岐構造を未知の環境としてモデル化し、ベイズ的な探索の考え方に基づく事後分布の代理として、更新され続けるカバレッジマップを用いる。
  • CovQValue はカバレッジマップを LLM に組み込むことで、複数の候補となる行動計画を並列に生成し、LLM が推定した Q 値に基づいて計画を選択する。これにより、短期的な発見と長期的な到達可能性のバランスを取る。
  • TestGenEval Lite による実験では、3つの代表的な LLM に対して、貪欲な選択に比べて分岐カバレッジが 51〜77% 向上し、ターゲットの 77〜84% で成功が得られた。反復生成の評価には、新たなベンチマーク RepoExploreBench を用いた。
  • これらの結果は、LLM によるテスト生成において、カバレッジのみを手がかりにしたヒューリスティックよりも、逐次的な好奇心駆動型の探索の方がプログラム挙動の発見に効果的であることを示唆している。

Abstract

コード生成にLLMを用いる試みは、そのままコードのテストと評価へと自然に拡張されてきました。コードベースの規模と複雑さが増すにつれて、自動テスト生成の必要性も高まります。LLMベースのテスト生成に関する現在のアプローチは、直近のカバレッジ増分を最大化する戦略に依存しており、これは貪欲(greedy)な手法です。この手法は、深い分岐に到達するには準備ステップが必要で、その準備ステップ自体は個別には新しいカバレッジを0にしか増やさないようなコードでは、行き詰まって(plateau)しまいます。ベイズ的探索の原理に着目し、プログラムの分岐構造を未知の環境として扱い、進化するカバレッジマップを、LLMがこれまでに発見した内容を表す確率的事後分布の代理として用います。提案手法 CovQValue は、カバレッジマップをLLMへフィードバックし、並列に多様な候補プランを生成し、LLMが見積もったQ値によって最も有益なプランを選択します。ここでは、直近の分岐発見と将来の到達可能性とのバランスを取るような行動を目指します。提案手法は TestGenEval Lite において貪欲な選択を上回り、3つの代表的なLLMに対して分岐カバレッジが51〜77%高くなり、77〜84%のターゲットで勝利します。さらに、反復的テスト生成のためのベンチマーク RepoExploreBench も構築しており、そこでの達成は40〜74%です。これらの結果は、LLMベースの探索における好奇心駆動型の計画手法の可能性を示しており、逐次的な相互作用を通じてプログラムの挙動をより効果的に発見できることを可能にします