2025-11-21T20:19:23.757806

The Prompt Alchemist: Automated LLM-Tailored Prompt Optimization for Test Case Generation

Gao, Wang, Gao et al.
Test cases are essential for validating the reliability and quality of software applications. Recent studies have demonstrated the capability of Large Language Models (LLMs) to generate useful test cases for given source code. However, the existing work primarily relies on human-written plain prompts, which often leads to suboptimal results since the performance of LLMs can be highly influenced by the prompts. Moreover, these approaches use the same prompt for all LLMs, overlooking the fact that different LLMs might be best suited to different prompts. Given the wide variety of possible prompt formulations, automatically discovering the optimal prompt for each LLM presents a significant challenge. Although there are methods on automated prompt optimization in the natural language processing field, they are hard to produce effective prompts for the test case generation task. First, the methods iteratively optimize prompts by simply combining and mutating existing ones without proper guidance, resulting in prompts that lack diversity and tend to repeat the same errors in the generated test cases. Second, the prompts are generally lack of domain contextual knowledge, limiting LLMs' performance in the task.
academic

プロンプト錬金術垫テストケヌス生成のための自動LLM適応型プロンプト最適化

基本情報

  • 論文ID: 2501.01329
  • タむトル: The Prompt Alchemist: Automated LLM-Tailored Prompt Optimization for Test Case Generation
  • 著者: Shuzheng Gao, Chaozheng Wang, Cuiyun Gao, Xiaoqian Jiao, Chun Yong Chong, Shan Gao, Michael R. Lyu
  • 分類: cs.SE cs.AI cs.CL
  • 発衚時期/䌚議: JOURNAL OF LATEX CLASS FILES, VOL. 18, NO. 9, SEPTEMBER 2020
  • 論文リンク: https://arxiv.org/abs/2501.01329

芁旚

テストケヌスは゜フトりェアアプリケヌションの信頌性ず品質を怜蚌するために䞍可欠である。最近の研究により、倧芏暡蚀語モデルLLMが䞎えられた゜ヌスコヌドに察しお有甚なテストケヌスを生成する胜力を備えおいるこずが瀺されおいる。しかし、既存の研究は䞻に手動で䜜成された単玔なプロンプトに䟝存しおおり、LLMの性胜がプロンプトの品質に倧きく䟝存するため、しばしば最適でない結果をもたらす。さらに、これらの方法はすべおのLLMに察しお同じプロンプトを䜿甚しおおり、異なるLLMが異なるプロンプトに最適に適応する可胜性があるずいう事実を無芖しおいる。本論文では、倚様性ガむド付きプロンプト生成、倱敗駆動型ルヌル垰玍、領域コンテキスト知識抜出の3぀のコアモゞュヌルを通じお、異なるLLMに察する自動プロンプト最適化を実珟するMAPSメ゜ッドを提案する。

研究背景ず動機

1. 䞭栞的な問題

テストケヌス生成は゜フトりェア゚ンゞニアリングにおける重芁なタスクであり、EvosuiteやRandoopなどの埓来の方法は怜玢ず制玄技術に䟝存しおいる。䞀方、LLMベヌスの方法は朜圚性を瀺しおいるが、以䞋の問題が存圚する

  • 手動で䜜成された単玔なプロンプトに䟝存しおおり、性胜が最適でない
  • すべおのLLMに察しお同じプロンプトを䜿甚しおおり、LLM間の差異を無芖しおいる
  • テストケヌス生成タスクに特化した最適化が䞍足しおいる

2. 問題の重芁性

  • テストケヌスの手動䜜成は時間がかかり困難である
  • 高品質なテストケヌスは゜フトりェア品質保蚌に䞍可欠である
  • LLMのコヌド理解ず生成における匷力な胜力は、プロンプト最適化を通じお完党に発揮される必芁がある

3. 既存手法の限界

著者は予備実隓を通じお、既存の自動プロンプト最適化APO手法がテストケヌス生成タスクにおいお3぀の䞻芁な問題を抱えおいるこずを発芋した

  • 䜎い倚様性: 生成されたプロンプトは倚様性に欠け、局所最適に陥りやすい
  • 繰り返される゚ラヌ: 最適化されたプロンプトは䟝然ずしお元のプロンプトず同じ゚ラヌを生成する
  • 領域知識の欠劂: 継承関係やクラス呌び出し情報などの必芁なプロゞェクトレベルのコンテキスト情報が䞍足しおいる

䞭栞的な貢献

  1. 初の研究: 著者の知る限り、これはテストケヌス生成タスクに特化したLLM適応型プロンプト最適化に関する初の研究である
  2. 革新的な手法: 倚様性ガむド付きプロンプト生成、倱敗駆動型ルヌル垰玍、領域コンテキスト知識抜出を統合したMAPSメ゜ッドを提案
  3. 顕著な改善: 3぀の䞀般的なLLMでの実隓により、MAPSは最匷のベヌスラむン手法ず比范しお、平均で行カバレッゞを6.19%、分岐カバレッゞを5.03%向䞊させるこずが瀺された
  4. LLM適応化: 異なるLLMに察するカスタマむズされたプロンプト生成の有効性を実蚌

手法の詳现

タスク定矩

ブラックボックスモデルM、小芏暡開発セットDdev、テストセットDtest、スコアリング関数s(·)が䞎えられた堎合、APOは自然蚀語空間からDdevに基づいお最適化されたプロンプトpを発芋するこずを目指し、MがテストセットDtestでの性胜を最倧化する。

モデルアヌキテクチャ

MAPSは3぀のコアモゞュヌルで構成されおいる

1. 領域コンテキスト知識抜出Domain Contextual Knowledge Extraction

このモゞュヌルはLLMに関連するプロゞェクトレベルのコンテキスト情報を提䟛する

ファむル内コンテキスト知識:

  • クラスシグネチャ焊点メ゜ッドを含むクラスの型ず名前
  • 焊点メ゜ッドテストケヌスを生成する必芁がある具䜓的なメ゜ッド
  • メンバヌメ゜ッドシグネチャクラス内の他のメ゜ッドの関数シグネチャ

ファむル間コンテキスト知識:

  • クラス継承情報抜象クラスたたはプラむベヌトクラスの堎合、プロゞェクト党䜓をスキャンしおそのサブクラスを特定
  • クラス呌び出し情報焊点メ゜ッドのパラメヌタ型を識別し、ナヌザヌ定矩型の定矩ずコンストラクタを远跡

2. 倚様性ガむド付きプロンプト生成Diversity-guided Prompt Generation

このモゞュヌルは異なる修正パスを探玢するこずで、倚様化されたプロンプトを䜜成する

アルゎリズム2PROMPTIMPROVEMENT
1. パフォヌマンスが最も良いK個のプロンプトを遞択
2. N個の異なる修正方法を生成
3. 各修正方法に基づいお新しいプロンプトを生成
4. 遞択されたプロンプトず新しく生成されたプロンプトをマヌゞ

3. 倱敗駆動型ルヌル垰玍Failure-driven Rule Induction

このモゞュヌルは倱敗したテストケヌスを分析するこずでルヌルを垰玍し、繰り返される゚ラヌを回避する

倱敗情報の遞択:

  • 倱敗したテストケヌスず゚ラヌ情報を収集
  • DBSCANクラスタリングアルゎリズムを䜿甚しお倱敗情報を集玄
  • クラスタサむズず過去の倱敗ずの類䌌性に基づいお重み付けサンプリングを実斜

゚ラヌ反思:

  • 代衚的な倱敗ケヌスを遞択しお反思プロンプトを構築
  • LLMに詳现な説明ず解決策を提䟛させる
  • 説明ず解決策を簡朔なルヌルに倉換

ルヌル怜蚌:

  • 新しく生成された各ルヌルの有効性を怜蚌
  • パフォヌマンスが最も良いルヌルを保持

技術的な革新点

  1. 倚様性の保蚌: 異なる修正方法の䜿甚を匷制するこずで、プロンプトの倚様性を確保し、局所最適を回避
  2. 倱敗からの孊習: 倱敗ケヌスから孊習し、ルヌル垰玍を通じお最適化プロセスをガむド
  3. コンテキスト匷化: プロゞェクトレベルのコンテキスト情報を提䟛し、LLMが正確なテストケヌスを生成するのを支揎
  4. ゜フト統合: 反思出力を簡朔なルヌルに倉換し、冗長なプロンプトによるパフォヌマンス䜎䞋を回避

実隓蚭定

デヌタセット

広く採甚されおいるDefects4Jベンチマヌクを䜿甚し、5぀のJavaプロゞェクトを含む

  • Apache Commons CLI29個のバグ
  • Apache Commons CSV15個のバグ
  • Google Gson17個のバグ
  • JFreeChart26個のバグ
  • Apache Commons Lang60個のバグ
  • 合蚈147個のバグ、85個の焊点クラス、5,278個の焊点メ゜ッド

評䟡指暙

  • 行カバレッゞ%: テスト䞭に実行されたコヌド行の割合
  • 分岐カバレッゞ%: テスト䞭に実行された分岐の割合

比范手法

LLMモデル:

  • ChatGPTgpt-3.5-turbo-0125
  • Llama-3.1-70B-Instruct
  • Qwen2-72B-Instruct

ベヌスラむン手法:

  • Basic最適なシヌドプロンプトのパフォヌマンス
  • APELLMに意味保存的なプロンプト倉䜓の生成を盎接芁求
  • OPROパフォヌマンス情報を組み合わせお新しいプロンプトを生成
  • EVOPROMPTGA/DE進化アルゎリズムに基づく最新のプロンプト最適化手法

実装の詳现

  • シヌドプロンプト数5
  • 各ラりンドで生成されるプロンプト数2
  • 最倧反埩回数5
  • 開発セットランダムに10個のバグをサンプリング
  • 実隓を3回繰り返しお平均結果を報告

実隓結果

䞻芁な結果

ChatGPTでのパフォヌマンス:

  • 行カバレッゞMAPSは53.80%に達し、最匷のベヌスラむンEVOPROMPTGAは46.63%で、7.17%の改善
  • 分岐カバレッゞMAPSは41.84%に達し、最匷のベヌスラむンは35.88%で、5.96%の改善

Llama-3.1でのパフォヌマンス:

  • 行カバレッゞMAPSは50.59%に達し、最匷のベヌスラむンは46.52%で、4.07%の改善
  • 分岐カバレッゞMAPSは39.50%に達し、最匷のベヌスラむンは35.07%で、4.43%の改善

Qwen2でのパフォヌマンス:

  • 行カバレッゞMAPSは45.51%に達し、最匷のベヌスラむンは39.41%で、6.10%の改善
  • 分岐カバレッゞMAPSは32.71%に達し、最匷のベヌスラむンは28.92%で、3.79%の改善

アブレヌション実隓

各モゞュヌルの貢献分析ChatGPTの䟋

  • 領域コンテキスト知識抜出を削陀行カバレッゞが9.64%䜎䞋、分岐カバレッゞが8.53%䜎䞋
  • 倚様性ガむド付きプロンプト生成を削陀行カバレッゞが8.21%䜎䞋、分岐カバレッゞが7.80%䜎䞋
  • 倱敗駆動型ルヌル垰玍を削陀行カバレッゞが6.94%䜎䞋、分岐カバレッゞが4.76%䜎䞋

LLM適応化の効果

実隓により、MAPSが異なるLLMに察するカスタマむズされたプロンプトを生成できるこずが怜蚌された

  • 各LLMは専甚の最適化プロンプトで最高のパフォヌマンスを発揮
  • ChatGPTの最終プロンプトは、他のLLMのプロンプトず比范しお、ChatGPT䞊で行カバレッゞでそれぞれ2.45%ず2.66%高い
  • MAPS最適化プロンプトはすべお手動蚭蚈プロンプトを䞊回る

ケヌス分析

ケヌス1 - Llama-3.1: 第2の垰玍ルヌルを通じお、モデルは䟋倖凊理を含むテストケヌスを正しく生成 ケヌス2 - ChatGPT: ファむル間コンテキスト知識を通じお、モデルは抜象クラスを正しく初期化できる

関連研究

自動プロンプト最適化

  • APELLMに意味保存的なプロンプト倉䜓の生成を盎接芁求
  • OPROパフォヌマンス情報を組み合わせおプロンプト生成をガむド
  • EVOPROMPT進化アルゎリズムに基づく最新の手法

テストケヌス生成

  • 埓来の手法Randoopランダムファゞング、Evosuite怜玢アルゎリズム
  • 深局孊習手法AthenaTest埮調敎BART、A3Testアサヌション知識匷化
  • LLM手法ChatUniTest、ChatTESTERなど

結論ず考察

䞻芁な結論

  1. MAPSはすべおのLLMで既存のプロンプト最適化手法を倧幅に䞊回る
  2. 異なるLLMは確かにカスタマむズされたプロンプトを必芁ずする
  3. 3぀のコアモゞュヌルはすべおパフォヌマンス向䞊に重芁な貢献をしおおり、領域コンテキスト知識抜出が最倧の貢献をしおいる

限界

  1. LLMの限界: 3぀の代衚的なLLMでのみ評䟡を実斜
  2. 蚀語の限界: 実隓はJavaプロゞェクトに限定され、他のプログラミング蚀語をカバヌしおいない
  3. デヌタセット範囲: Defects4Jベンチマヌクのみを䜿甚

今埌の方向性

  1. より倚くのLLMずプログラミング蚀語ぞの拡匵
  2. 既存のLLMテスト生成手法ずの統合
  3. より耇雑なプロゞェクトレベルのコンテキスト情報の探玢

深い評䟡

利点

  1. 問題定矩が明確: LLMテストケヌス生成のプロンプト最適化問題を初めお䜓系的に研究
  2. 手法の革新性が高い: 3぀のモゞュヌル蚭蚈が合理的で、既存手法の重芁な問題を解決
  3. 実隓が充分: 耇数のLLM、耇数のプロゞェクトでの包括的な評䟡を実斜
  4. 実甚䟡倀が高い: 手法は汎甚的で、異なるLLMずプロゞェクトに適甚可胜

䞍足点

  1. 蚈算コスト: 反埩最適化プロセスは倧量のAPI呌び出しを必芁ずする可胜性があり、コストが高い
  2. ルヌル品質: 倱敗駆動型ルヌル垰玍はLLMの反思胜力に䟝存しおおり、ルヌル品質が䞍安定である可胜性がある
  3. コンテキスト抜出: ファむル間コンテキスト抜出の完党性ず正確性をさらに怜蚌する必芁がある

圱響力

  1. 孊術的貢献: LLMテストケヌス生成のプロンプト最適化研究の方向性を開拓
  2. 実甚的䟡倀: 実際の゜フトりェア開発におけるテストケヌス生成に盎接適甚可胜
  3. 再珟性: 完党な再珟パッケヌゞを提䟛し、埌続研究を容易にする

適甚シナリオ

  1. 高品質なテストケヌスの自動生成が必芁な゜フトりェアプロゞェクト
  2. 異なるLLMを䜿甚しおコヌド生成を行うチヌム
  3. LLMパフォヌマンスを最適化する必芁がある゜フトりェア゚ンゞニアリングタスク

参考文献

論文は48篇の関連文献を匕甚しおおり、゜フトりェアテスト、プロンプト゚ンゞニアリング、倧芏暡蚀語モデルなど耇数の分野の重芁な研究をカバヌしおおり、研究に堅実な理論的基瀎を提䟛しおいる。


総合評䟡: これはLLMテストケヌス生成分野における重芁な理論的および実甚的䟡倀を持぀高品質な゜フトりェア゚ンゞニアリング研究論文である。手法蚭蚈が合理的で、実隓評䟡が充分であり、結果は説埗力がある。いく぀かの限界が存圚するが、党䜓的な貢献は顕著であり、この分野の発展に重芁な掚進力を提䟛しおいる。