論文の概要: Enhancing LLM-based Test Generation for Hard-to-Cover Branches via Program Analysis
- arxiv url: http://arxiv.org/abs/2404.04966v1
- Date: Sun, 7 Apr 2024 14:08:28 GMT
- ステータス: 処理完了
- システム内更新日: 2024-04-09 18:22:15.422884
- Title: Enhancing LLM-based Test Generation for Hard-to-Cover Branches via Program Analysis
- Title(参考訳): プログラム解析によるハード・ツー・クオーバ分岐のLCMによるテスト生成の強化
- Authors: Chen Yang, Junjie Chen, Bin Lin, Jianyi Zhou, Ziqi Wang,
- Abstract要約: 難解な分岐に到達可能なテストを生成する新しい技術である TELPA を提案する。
27のオープンソースPythonプロジェクトに対する実験結果から,TELPAは最先端のSBSTやLLMベースの技術よりも優れていたことが判明した。
- 参考スコア(独自算出の注目度): 8.31978033489419
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Automatic test generation plays a critical role in software quality assurance. While the recent advances in Search-Based Software Testing (SBST) and Large Language Models (LLMs) have shown promise in generating useful tests, these techniques still struggle to cover certain branches. Reaching these hard-to-cover branches usually requires constructing complex objects and resolving intricate inter-procedural dependencies in branch conditions, which poses significant challenges for existing test generation techniques. In this work, we propose TELPA, a novel technique aimed at addressing these challenges. Its key insight lies in extracting real usage scenarios of the target method under test to learn how to construct complex objects and extracting methods entailing inter-procedural dependencies with hard-to-cover branches to learn the semantics of branch constraints. To enhance efficiency and effectiveness, TELPA identifies a set of ineffective tests as counter-examples for LLMs and employs a feedback-based process to iteratively refine these counter-examples. Then, TELPA integrates program analysis results and counter-examples into the prompt, guiding LLMs to gain deeper understandings of the semantics of the target method and generate diverse tests that can reach the hard-to-cover branches. Our experimental results on 27 open-source Python projects demonstrate that TELPA significantly outperforms the state-of-the-art SBST and LLM-based techniques, achieving an average improvement of 31.39% and 22.22% in terms of branch coverage.
- Abstract(参考訳): 自動テスト生成は、ソフトウェア品質保証において重要な役割を果たす。
検索ベースソフトウェアテスト(SBST)とLarge Language Models(LLM)の最近の進歩は、有用なテストを生成する上で有望であることを示しているが、これらのテクニックは、まだ特定のブランチをカバーするのに苦労している。
これらの難解な分岐は、通常、複雑なオブジェクトの構築と、分岐条件における複雑なプロセス間の依存関係の解決を必要とします。
本研究では,これらの課題に対処するための新しい技術である TELPA を提案する。
その重要な洞察は、複雑なオブジェクトを構築する方法を学ぶために、テスト対象のメソッドの実際の使用シナリオを抽出することであり、分岐制約のセマンティクスを学ぶために、ハード・トゥ・カバーのブランチでプロシージャ間の依存関係を含むメソッドを抽出することである。
効率性と有効性を高めるため、TELPAはLLMの反例として非効率なテストのセットを特定し、これらの反例を反復的に洗練するためにフィードバックベースのプロセスを採用している。
TELPAはプログラム解析結果と反例をプロンプトに統合し、LLMを誘導し、ターゲットメソッドのセマンティクスをより深く理解し、難解な分岐に到達できる多様なテストを生成する。
27のオープンソースPythonプロジェクトでの実験結果から,TELPAは最先端のSBSTとLLMベースの技術よりも優れており,ブランチカバレッジでは平均31.39%,22.22%の改善が達成されている。
関連論文リスト
- LLM Inference Unveiled: Survey and Roofline Model Insights [62.92811060490876]
大規模言語モデル(LLM)推論は急速に進化しており、機会と課題のユニークなブレンドを提示している。
本調査は, 研究状況を要約するだけでなく, 屋上モデルに基づく枠組みを導入することによって, 従来の文献レビューから際立っている。
このフレームワークは、ハードウェアデバイスにLSMをデプロイする際のボトルネックを特定し、実用上の問題を明確に理解する。
論文 参考訳(メタデータ) (2024-02-26T07:33:05Z) - RITFIS: Robust input testing framework for LLMs-based intelligent
software [6.439196068684973]
RITFISは、自然言語入力に対するインテリジェントソフトウェアの堅牢性を評価するために設計された最初のフレームワークである。
RITFISは17の自動テスト手法を採用しており、元々はディープニューラルネットワーク(DNN)ベースのインテリジェントソフトウェア用に設計された。
LLMベースの知的ソフトウェア評価におけるRITFISの有効性を実証的検証により示す。
論文 参考訳(メタデータ) (2024-02-21T04:00:54Z) - Robust Analysis of Multi-Task Learning Efficiency: New Benchmarks on Light-Weighed Backbones and Effective Measurement of Multi-Task Learning Challenges by Feature Disentanglement [69.51496713076253]
本稿では,既存のMTL手法の効率性に焦点をあてる。
バックボーンを小さくしたメソッドの大規模な実験と,MetaGraspNetデータセットを新しいテストグラウンドとして実施する。
また,MTLにおける課題の新規かつ効率的な識別子として,特徴分散尺度を提案する。
論文 参考訳(メタデータ) (2024-02-05T22:15:55Z) - Code-Aware Prompting: A study of Coverage Guided Test Generation in Regression Setting using LLM [32.44432906540792]
テスト生成における大規模言語モデルのコード認識促進戦略であるSymPromptを提案する。
SymPromptは、正しいテスト世代を5倍に増やし、CodeGen2の相対カバレッジを26%向上させる。
特に、GPT-4に適用すると、SymPromptはベースラインのプロンプト戦略に比べて2倍以上のカバレッジが向上する。
論文 参考訳(メタデータ) (2024-01-31T18:21:49Z) - Towards Generating Executable Metamorphic Relations Using Large Language
Models [49.632090604977364]
大規模言語モデル(LLM)を用いた要件から実行可能なMRを自動的に抽出する手法を提案する。
提案手法の有効性を評価するため,シーメンス・インダストリー・ソフトウェアと共同で質問紙調査を行った。
論文 参考訳(メタデータ) (2024-01-30T13:52:47Z) - A Case Study on Test Case Construction with Large Language Models:
Unveiling Practical Insights and Challenges [2.7029792239733914]
本稿では,ソフトウェア工学の文脈におけるテストケース構築における大規模言語モデルの適用について検討する。
定性分析と定量分析の混合により, LLMが試験ケースの包括性, 精度, 効率に与える影響を評価する。
論文 参考訳(メタデータ) (2023-12-19T20:59:02Z) - Improving Open Information Extraction with Large Language Models: A
Study on Demonstration Uncertainty [52.72790059506241]
オープン情報抽出(OIE)タスクは、構造化されていないテキストから構造化された事実を抽出することを目的としている。
一般的なタスク解決手段としてChatGPTのような大きな言語モデル(LLM)の可能性にもかかわらず、OIEタスクの最先端(教師付き)メソッドは遅れている。
論文 参考訳(メタデータ) (2023-09-07T01:35:24Z) - PentestGPT: An LLM-empowered Automatic Penetration Testing Tool [21.304324676865242]
大規模言語モデル(LLM)は、様々な領域において大きな進歩を見せている。
実世界の浸透試験におけるLLMの性能を,プラットフォームを用いたテストマシンから作成した頑健なベンチマークを用いて評価した。
LLMを利用した自動浸透試験ツールであるPentestGPTを紹介する。
論文 参考訳(メタデータ) (2023-08-13T14:35:50Z) - OverPrompt: Enhancing ChatGPT through Efficient In-Context Learning [49.38867353135258]
複数のタスク入力を処理するために,LLMのコンテキスト内学習機能を活用したOverPromptを提案する。
本実験により,OverPromptはタスク性能を著しく損なうことなく,コスト効率の良いゼロショット分類を実現することができることがわかった。
論文 参考訳(メタデータ) (2023-05-24T10:08:04Z) - Reinforcement Learning for Branch-and-Bound Optimisation using
Retrospective Trajectories [72.15369769265398]
機械学習は分岐のための有望なパラダイムとして登場した。
分岐のための単純かつ効果的なRLアプローチであるレトロ分岐を提案する。
我々は現在最先端のRL分岐アルゴリズムを3~5倍に上回り、500の制約と1000の変数を持つMILP上での最高のILメソッドの性能の20%以内である。
論文 参考訳(メタデータ) (2022-05-28T06:08:07Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。