論文の概要: 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倍以上のカバレッジが向上する。
関連論文リスト
- 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) - Enhancing LLM-based Test Generation for Hard-to-Cover Branches via Program Analysis [8.31978033489419]
難解な分岐に到達可能なテストを生成する新しい技術である TELPA を提案する。
27のオープンソースPythonプロジェクトに対する実験結果から,TELPAは最先端のSBSTやLLMベースの技術よりも優れていたことが判明した。
論文 参考訳(メタデータ) (2024-04-07T14:08:28Z) - Large Language Models to Generate System-Level Test Programs Targeting Non-functional Properties [3.3305233186101226]
本稿では,テストプログラムを生成するためのLarge Language Models (LLM)を提案する。
我々は、DUTの非機能特性を最適化するために、事前訓練されたLLMがテストプログラム生成でどのように機能するかを、一目で見てみる。
論文 参考訳(メタデータ) (2024-03-15T08:01:02Z) - 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) - Automatic Hallucination Assessment for Aligned Large Language Models via
Transferable Adversarial Attacks [98.22864957942821]
本稿では,大規模言語モデルが忠実に振る舞う既存データを適切に修正し,評価データを自動的に生成する手法を開発することを目的とする。
具体的には,LLM ベースのフレームワークである Auto Debug について述べる。
実験結果から, LLMは, インプロンプトに与えられた知識とパラメトリック知識との間に矛盾がある場合, 質問応答シナリオの2つのカテゴリに幻覚を与える可能性が示唆された。
論文 参考訳(メタデータ) (2023-10-19T06:37:32Z) - Reinforcement Learning from Automatic Feedback for High-Quality Unit
Test Generation [13.658632458850144]
大規模言語モデル(LLM)は、テストケースの自動生成を含むコード生成で人気を集めている。
LLMは、多くの場合、大量の公開コードでトレーニングされ、ベストプラクティスに従わないテストケースを含む。
RLSQM(Reinforcement Learning from Static Quality Metrics)と呼ばれる新しい手法を提案する。
論文 参考訳(メタデータ) (2023-10-03T18:48:31Z) - Effective Test Generation Using Pre-trained Large Language Models and
Mutation Testing [13.743062498008555]
大規模言語モデル(LLM)が生成するテストケースの有効性を,バグの発見の観点から改善するための MuTAP を導入する。
MuTAPは、プログラム・アンダー・テスト(PUT)の自然言語記述がない場合に有効なテストケースを生成することができる
提案手法は, 最大28%の人書きコードスニペットを検出できることを示す。
論文 参考訳(メタデータ) (2023-08-31T08:48:31Z) - LLM Paternity Test: Generated Text Detection with LLM Genetic Inheritance [58.63888295471187]
大きな言語モデル(LLM)は、様々な誤用のリスクを負うテキストを生成することができる。
モデル関連テキスト検出手法 LLM Paternity Test (LLM-Pat) を提案する。
高い類似性は、候補テキストが遺伝的特性に似た機械生成であることを示している。
論文 参考訳(メタデータ) (2023-05-21T17:26:16Z) - CodeT: Code Generation with Generated Tests [49.622590050797236]
テストケースを自動的に生成するための事前学習言語モデルについて検討する。
CodeTは生成されたテストケースを使ってコードソリューションを実行し、次に最良のソリューションを選択します。
我々は,HumanEvalとMBPPのベンチマークを用いて,5種類の事前学習モデル上でCodeTを評価する。
論文 参考訳(メタデータ) (2022-07-21T10:18:37Z) - Text Generation with Efficient (Soft) Q-Learning [91.47743595382758]
強化学習(RL)は、任意のタスクメトリクスを報酬としてプラグインすることで、より柔軟なソリューションを提供する。
ソフトQ-ラーニングの観点からテキスト生成のための新しいRL式を導入する。
雑音/負の例から学習し、敵攻撃、即時生成など、幅広いタスクにアプローチを適用する。
論文 参考訳(メタデータ) (2021-06-14T18:48:40Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。