論文の概要: CoverUp: Coverage-Guided LLM-Based Test Generation
- arxiv url: http://arxiv.org/abs/2403.16218v2
- Date: Fri, 13 Sep 2024 15:45:10 GMT
- ステータス: 処理完了
- システム内更新日: 2024-09-16 23:27:08.096810
- Title: CoverUp: Coverage-Guided LLM-Based Test Generation
- Title(参考訳): CoverUp:Coverage-Guided LLMベースのテスト生成
- Authors: Juan Altmayer Pizzorno, Emery D. Berger,
- Abstract要約: CoverUpは、ハイカバレッジPython回帰テストを生成するための新しいアプローチである。
CoverUpの反復的なカバレッジ誘導アプローチは、その有効性に不可欠であることを示す。
- 参考スコア(独自算出の注目度): 0.7673339435080445
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Testing is an essential part of software development. Test generation tools attempt to automate the otherwise labor-intensive task of test creation, but generating high-coverage tests remains a challenge. This paper proposes CoverUp, a novel approach to driving the generation of high-coverage Python regression tests. CoverUp iteratively improves test coverage, interleaving coverage analysis with dialogs with the LLM that steer it to refine tests so that they increase coverage of lines and branches. We evaluate our prototype CoverUp implementation across a benchmark of challenging code derived from open-source Python projects, and show that CoverUp substantially improves on the state of the art. Compared to CodaMosa, a hybrid search/LLM-based test generator, CoverUp achieves a per-module median line+branch coverage of 80% (vs. 47%). Compared to MuTAP, a mutation/LLM-based test generator, CoverUp achieves an overall line+branch coverage of 90% (vs. 77%). We show that CoverUp's iterative, coverage-guided approach is crucial to its effectiveness, contributing to nearly 40% of its successes.
- Abstract(参考訳): テストはソフトウェア開発の重要な部分です。
テスト生成ツールは、さもなくばテスト作成の労働集約的なタスクを自動化しようとするが、高いカバレッジテストを生成することは依然として課題である。
本稿では,ハイカバレッジなPython回帰テストを生成するための新しいアプローチであるCoverUpを提案する。
CoverUpは、テストカバレッジを反復的に改善し、カバレッジ分析とLLMとのダイアログをインターリーブすることで、テストの洗練を図り、行とブランチのカバレッジを向上する。
プロトタイプのCoverUp実装を、オープンソースのPythonプロジェクトから派生した挑戦的なコードのベンチマークで評価し、CoverUpが最先端で大幅に改善されていることを示す。
ハイブリッド検索/LLMベースのテストジェネレータであるCodaMosaと比較して、CoverUpはモジュールごとの中央値ライン+ブランチカバレッジを80%(vs.47%)達成している。
変異/LLMベースのテストジェネレータである MuTAP と比較して、CoverUp は全行+ブランチカバレッジを90%(vs.77%)達成している。
CoverUpの反復的なカバレッジ誘導アプローチが、その有効性に不可欠であることを示し、その成功の40%近くに寄与している。
関連論文リスト
- TestGenEval: A Real World Unit Test Generation and Test Completion Benchmark [24.14654309612826]
TestGenEvalは、1,210のコードから68,647のテストと、11の保守されたPythonリポジトリにまたがるテストファイルペアで構成されている。
初期テストのオーサリング、テストスイートの補完、コードカバレッジの改善をカバーしている。
パラメータは7Bから405Bまで様々である。
論文 参考訳(メタデータ) (2024-10-01T14:47:05Z) - Constrained C-Test Generation via Mixed-Integer Programming [55.28927994487036]
本研究は,単語の最後の部分のみをギャップに変換する,クローズテスト(ギャップ充足運動)の形式であるC-テストを生成する新しい手法を提案する。
局所最適解を実現するために, ギャップサイズやギャップ配置の変化のみを考慮する従来の研究とは対照的に, 混合整数プログラミング(MIP)アプローチを提案する。
当社のコード、モデル、収集したデータは32の英語のC-Testで、それぞれ20のギャップ(3,200の個別のギャップ応答)をオープンソースライセンスで公開しています。
論文 参考訳(メタデータ) (2024-04-12T21:35:21Z) - Automated Unit Test Improvement using Large Language Models at Meta [44.87533111512982]
本稿では,LLMを用いたMetaのTestGen-LLMツールについて述べる。
InstagramとFacebookプラットフォームのMetaテストアソンにおけるTestGen-LLMのデプロイについて説明する。
論文 参考訳(メタデータ) (2024-02-14T13:43:14Z) - Observation-based unit test generation at Meta [52.4716552057909]
TestGenは、アプリケーション実行中に観察された複雑なオブジェクトのシリアライズされた観察から作られたユニットテストを自動的に生成する。
TestGenは518のテストを本番環境に投入し、継続的統合で9,617,349回実行され、5,702の障害が見つかった。
評価の結果,信頼性の高い4,361のエンドツーエンドテストから,少なくとも86%のクラスでテストを生成することができた。
論文 参考訳(メタデータ) (2024-02-09T00:34:39Z) - 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) - Effective Test Generation Using Pre-trained Large Language Models and
Mutation Testing [13.743062498008555]
大規模言語モデル(LLM)が生成するテストケースの有効性を,バグの発見の観点から改善するための MuTAP を導入する。
MuTAPは、プログラム・アンダー・テスト(PUT)の自然言語記述がない場合に有効なテストケースを生成することができる
提案手法は, 最大28%の人書きコードスニペットを検出できることを示す。
論文 参考訳(メタデータ) (2023-08-31T08:48:31Z) - Learning Deep Semantics for Test Completion [46.842174440120196]
テスト完了の新たなタスクを形式化し、テスト対象の文のコンテキストとコードに基づいて、テストメソッドで次のステートメントを自動的に完了する。
テスト補完にコードセマンティクスを用いたディープラーニングモデルであるTeCoを開発した。
論文 参考訳(メタデータ) (2023-02-20T18:53:56Z) - An Empirical Evaluation of Using Large Language Models for Automated
Unit Test Generation [3.9762912548964864]
本稿では,自動単体テスト生成における大規模言語モデルの有効性について,大規模な実証評価を行った。
これはJavaScript用のテスト生成ツールで、npmパッケージ内のすべてのAPI関数のユニットテストを自動的に生成します。
TestPilotの生成されたテストの92.8%は、既存のテストと50%以上の類似性を持っていない。
論文 参考訳(メタデータ) (2023-02-13T17:13:41Z) - CodeT: Code Generation with Generated Tests [49.622590050797236]
テストケースを自動的に生成するための事前学習言語モデルについて検討する。
CodeTは生成されたテストケースを使ってコードソリューションを実行し、次に最良のソリューションを選択します。
我々は,HumanEvalとMBPPのベンチマークを用いて,5種類の事前学習モデル上でCodeTを評価する。
論文 参考訳(メタデータ) (2022-07-21T10:18:37Z) - SUPERNOVA: Automating Test Selection and Defect Prevention in AAA Video
Games Using Risk Based Testing and Machine Learning [62.997667081978825]
従来の手法では、成長するソフトウェアシステムではスケールできないため、ビデオゲームのテストはますます難しいタスクになります。
自動化ハブとして機能しながら,テスト選択と欠陥防止を行うシステム SUPERNOVA を提案する。
この直接的な影響は、未公表のスポーツゲームタイトルの55%以上のテスト時間を減らすことが観察されている。
論文 参考訳(メタデータ) (2022-03-10T00:47:46Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。