論文の概要: Code-Aware Prompting: A study of Coverage Guided Test Generation in Regression Setting using LLM
- arxiv url: http://arxiv.org/abs/2402.00097v2
- Date: Tue, 2 Apr 2024 21:23:03 GMT
- ステータス: 処理完了
- システム内更新日: 2024-04-04 22:17:46.242708
- Title: Code-Aware Prompting: A study of Coverage Guided Test Generation in Regression Setting using LLM
- Title(参考訳): Code-Aware Prompting:LLMを用いた回帰設定におけるカバーガイドテスト生成の検討
- Authors: Gabriel Ryan, Siddhartha Jain, Mingyue Shang, Shiqi Wang, Xiaofei Ma, Murali Krishna Ramanathan, Baishakhi Ray,
- Abstract要約: テスト生成における大規模言語モデルのコード認識促進戦略であるSymPromptを提案する。
SymPromptは、正しいテスト世代を5倍に増やし、CodeGen2の相対カバレッジを26%向上させる。
特に、GPT-4に適用すると、SymPromptはベースラインのプロンプト戦略に比べて2倍以上のカバレッジが向上する。
- 参考スコア(独自算出の注目度): 32.44432906540792
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Testing plays a pivotal role in ensuring software quality, yet conventional Search Based Software Testing (SBST) methods often struggle with complex software units, achieving suboptimal test coverage. Recent works using large language models (LLMs) for test generation have focused on improving generation quality through optimizing the test generation context and correcting errors in model outputs, but use fixed prompting strategies that prompt the model to generate tests without additional guidance. As a result LLM-generated testsuites still suffer from low coverage. In this paper, we present SymPrompt, a code-aware prompting strategy for LLMs in test generation. SymPrompt's approach is based on recent work that demonstrates LLMs can solve more complex logical problems when prompted to reason about the problem in a multi-step fashion. We apply this methodology to test generation by deconstructing the testsuite generation process into a multi-stage sequence, each of which is driven by a specific prompt aligned with the execution paths of the method under test, and exposing relevant type and dependency focal context to the model. Our approach enables pretrained LLMs to generate more complete test cases without any additional training. We implement SymPrompt using the TreeSitter parsing framework and evaluate on a benchmark challenging methods from open source Python projects. SymPrompt enhances correct test generations by a factor of 5 and bolsters relative coverage by 26% for CodeGen2. Notably, when applied to GPT-4, SymPrompt improves coverage by over 2x compared to baseline prompting strategies.
- Abstract(参考訳): テストはソフトウェアの品質を保証する上で重要な役割を担いますが、従来の検索ベースソフトウェアテスト(SBST)メソッドは、しばしば複雑なソフトウェアユニットと競合し、最適なテストカバレッジを達成します。
テスト生成に大規模言語モデル(LLM)を用いた最近の研究は、テスト生成コンテキストを最適化し、モデル出力のエラーを修正することで、生成品質の向上に重点を置いているが、追加のガイダンスなしでモデルにテストを生成するように促す固定プロンプト戦略を使用している。
結果として、LSMが生成するテストスーツは、まだ低カバレッジに悩まされている。
本稿では,テスト生成におけるLLMのコード認識促進戦略であるSymPromptを提案する。
SymPrompt のアプローチは、LLM がより複雑な論理的問題を、多段階的な推論によって解けることを示す最近の研究に基づいている。
本手法は,テストスイート生成プロセスを多段階のシーケンスに分解し,テスト対象のメソッドの実行パスに合わせた特定のプロンプトで駆動し,関連する型や依存性のコンテキストをモデルに公開することにより,テスト生成に適用する。
我々のアプローチは、事前訓練されたLLMが、追加の訓練をすることなく、より完全なテストケースを生成することを可能にする。
我々は、TreeSitter構文解析フレームワークを使用してSymPromptを実装し、オープンソースのPythonプロジェクトから挑戦的なメソッドをベンチマークで評価する。
SymPromptは、正しいテスト世代を5倍に増やし、CodeGen2の相対カバレッジを26%向上させる。
特に、GPT-4に適用すると、SymPromptはベースラインのプロンプト戦略に比べて2倍以上のカバレッジが向上する。
関連論文リスト
- AIME: AI System Optimization via Multiple LLM Evaluators [79.03422337674664]
AIME は複数の LLM を利用した評価プロトコルであり、それぞれが独立した基準で評価を生成し、結合を通してそれらを結合する。
コード生成タスクにおける AIME のベースラインメソッドのパフォーマンスは,LeetCodeHard と HumanEval データセットの単一 LLM 評価プロトコルよりも最大 62% 高いエラー検出率,最大 16% 高い成功率で向上している。
論文 参考訳(メタデータ) (2024-10-04T04:03:24Z) - TestBench: Evaluating Class-Level Test Case Generation Capability of Large Language Models [8.22619177301814]
クラスレベルのLLMベースのテストケース生成のためのベンチマークであるTestBenchを紹介する。
GitHub上の9つの実世界の大規模プロジェクトから108のJavaプログラムのデータセットを構築します。
本稿では,構文的正当性,コンパイル的正当性,テスト的正当性,コードカバレッジ率,欠陥検出率という,テストケースの5つの側面を考慮した詳細な評価フレームワークを提案する。
論文 参考訳(メタデータ) (2024-09-26T06:18:06Z) - SYNTHEVAL: Hybrid Behavioral Testing of NLP Models with Synthetic CheckLists [59.08999823652293]
我々は,NLPモデルの包括的評価のために,SyntheVALを提案する。
最後の段階では、人間の専門家が困難な例を調査し、手動でテンプレートを設計し、タスク固有のモデルが一貫して示す障害の種類を特定します。
我々は、感情分析と有害言語検出という2つの分類課題にSynTHEVALを適用し、これらの課題における強力なモデルの弱点を特定するのに、我々のフレームワークが有効であることを示す。
論文 参考訳(メタデータ) (2024-08-30T17:41:30Z) - HITS: High-coverage LLM-based Unit Test Generation via Method Slicing [37.43624865049592]
大規模言語モデル(LLM)は、Javaプロジェクトの単体テストの生成においてうまく振る舞っている。
しかし、プロジェクト内の複雑な焦点メソッドをカバーするパフォーマンスは貧弱である。
そこで本研究では, 焦点メソッドをスライスに分解し, LLMに対してスライス毎にテストケーススライスを生成することを提案する。
論文 参考訳(メタデータ) (2024-08-21T04:14:26Z) - Improving LLM-based Unit test generation via Template-based Repair [8.22619177301814]
単体テストは個々のプログラムユニットのバグを検出するのに不可欠だが、時間と労力を消費する。
大規模言語モデル(LLM)は、顕著な推論と生成能力を示している。
本稿では,新しい単体テスト生成法であるTestARTを提案する。
論文 参考訳(メタデータ) (2024-08-06T10:52:41Z) - Large-scale, Independent and Comprehensive study of the power of LLMs for test case generation [11.056044348209483]
クラスやメソッドなどのコードモジュールのバグを特定するのに不可欠なユニットテストは、時間的制約のため、開発者によって無視されることが多い。
GPTやMistralのようなLarge Language Models (LLM)は、テスト生成を含むソフトウェア工学における約束を示す。
論文 参考訳(メタデータ) (2024-06-28T20:38:41Z) - Benchmarking Uncertainty Quantification Methods for Large Language Models with LM-Polygraph [83.90988015005934]
不確実性定量化(英: Uncertainty Quantification、UQ)は、機械学習(ML)アプリケーションにおいて重要なコンポーネントである。
最新のUQベースラインの集合を実装した新しいベンチマークを導入する。
我々は、9つのタスクにわたるUQと正規化技術に関する大規模な実証的研究を行い、最も有望なアプローチを特定した。
論文 参考訳(メタデータ) (2024-06-21T20:06:31Z) - Test-Time Training on Graphs with Large Language Models (LLMs) [68.375487369596]
グラフニューラルネットワーク(GNN)をトレーニングするための有望なアプローチとして,TTT(Test-Time Training)が提案されている。
テキスト分散グラフ(TAG)上でのLLM(Large Language Models)の優れたアノテーション能力に着想を得て,LLMをアノテータとしてグラフ上でのテスト時間トレーニングを強化することを提案する。
2段階のトレーニング戦略は、限定的でノイズの多いラベルでテストタイムモデルを調整するように設計されている。
論文 参考訳(メタデータ) (2024-04-21T08:20:02Z) - Large Language Models as Test Case Generators: Performance Evaluation and Enhancement [3.5398126682962587]
大規模言語モデルが高品質なテストケースをいかに生み出すかを検討する。
本稿では,テストインプットとテストアウトプットの生成を分離するemphTestChainというマルチエージェントフレームワークを提案する。
以上の結果から,TestChainはベースラインのマージンを大きく上回っていることが示唆された。
論文 参考訳(メタデータ) (2024-04-20T10:27:01Z) - StepCoder: Improve Code Generation with Reinforcement Learning from
Compiler Feedback [58.20547418182074]
2つの主要コンポーネントからなるコード生成の新しいフレームワークであるStepCoderを紹介します。
CCCSは、長いシーケンスのコード生成タスクをCurriculum of Code Completion Subtaskに分割することで、探索課題に対処する。
FGOは、未実行のコードセグメントをマスクすることでのみモデルを最適化し、Fine-Grained Optimizationを提供する。
提案手法は,出力空間を探索し,対応するベンチマークにおいて最先端の手法より優れた性能を発揮する。
論文 参考訳(メタデータ) (2024-02-02T13:14:31Z) - Text Generation with Efficient (Soft) Q-Learning [91.47743595382758]
強化学習(RL)は、任意のタスクメトリクスを報酬としてプラグインすることで、より柔軟なソリューションを提供する。
ソフトQ-ラーニングの観点からテキスト生成のための新しいRL式を導入する。
雑音/負の例から学習し、敵攻撃、即時生成など、幅広いタスクにアプローチを適用する。
論文 参考訳(メタデータ) (2021-06-14T18:48:40Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。