論文の概要: LLM-based Unit Test Generation for Dynamically-Typed Programs
- arxiv url: http://arxiv.org/abs/2503.14000v1
- Date: Tue, 18 Mar 2025 08:07:17 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-03-19 14:17:15.642023
- Title: LLM-based Unit Test Generation for Dynamically-Typed Programs
- Title(参考訳): LLMを用いた動的型プログラムのための単体テスト生成
- Authors: Runlin Liu, Zhe Zhang, Yunge Hu, Yuhang Lin, Xiang Gao, Hailong Sun,
- Abstract要約: TypeTestは、ベクトルベースのRetrieval-Augmented Generationシステムを通じて、テスト生成における型正しさを高める新しいフレームワークである。
125の現実世界のPythonモジュールの評価において、TypeTestは平均で86.6%、ブランチで76.8%を獲得し、それぞれ5.4%、9.3%の最先端ツールを上回った。
- 参考スコア(独自算出の注目度): 16.38145000434927
- License:
- Abstract: Automated unit test generation has been widely studied, but generating effective tests for dynamically typed programs remains a significant challenge. Existing approaches, including search-based software testing (SBST) and recent LLM-based methods, often suffer from type errors, leading to invalid inputs and assertion failures, ultimately reducing testing effectiveness. To address this, we propose TypeTest, a novel framework that enhances type correctness in test generation through a vector-based Retrieval-Augmented Generation (RAG) system. TypeTest employs call instance retrieval and feature-based retrieval to infer parameter types accurately and construct valid test inputs. Furthermore, it utilizes the call graph to extract richer contextual information, enabling more accurate assertion generation. In addition, TypeTest incorporates a repair mechanism and iterative test generation, progressively refining test cases to improve coverage. In an evaluation on 125 real-world Python modules, TypeTest achieved an average statement coverage of 86.6% and branch coverage of 76.8%, outperforming state-of-theart tools by 5.4% and 9.3%, respectively.
- Abstract(参考訳): 自動単体テスト生成は広く研究されているが、動的型付けプログラムの効果的なテストを生成することは大きな課題である。
検索ベースのソフトウェアテスト(SBST)や最近のLLMベースのメソッドを含む既存のアプローチは、しばしば型エラーに悩まされ、無効な入力とアサーションの失敗を引き起こし、最終的にテストの有効性が低下する。
そこで本研究では,ベクトルベースRetrieval-Augmented Generation(RAG)システムを用いて,テスト生成の型精度を向上させる新しいフレームワークであるTypeTestを提案する。
TypeTestはコールインスタンスの検索と機能ベースの検索を使用してパラメータの型を正確に推測し、有効なテスト入力を構築する。
さらに、コールグラフを使用して、よりリッチなコンテキスト情報を抽出し、より正確なアサーション生成を可能にする。
さらにTypeTestには、修復メカニズムと反復的なテスト生成が組み込まれており、テストケースを徐々に洗練してカバレッジを改善している。
125の現実世界のPythonモジュールの評価において、TypeTestは平均で86.6%、ブランチで76.8%を達成し、それぞれ5.4%、9.3%の最先端ツールを上回った。
関連論文リスト
- Learning to Generate Unit Tests for Automated Debugging [52.63217175637201]
ユニットテスト(UT)は、コードの正確性を評価するだけでなく、大きな言語モデル(LLM)にフィードバックを提供する上でも重要な役割を果たします。
提案するUTGenは,LLMに対して,予測出力とともにエラーを示す単体テスト入力を生成することを教える。
UTGen は他の LLM ベースラインを7.59% 上回っていることを示す。
論文 参考訳(メタデータ) (2025-02-03T18:51:43Z) - Context-Aware Testing: A New Paradigm for Model Testing with Large Language Models [49.06068319380296]
我々は,コンテキストを帰納バイアスとして用いて意味のあるモデル障害を探索するコンテキスト認識テスト(CAT)を導入する。
最初のCATシステムSMART Testingをインスタンス化し、大きな言語モデルを用いて、関連性があり、起こりうる失敗を仮説化します。
論文 参考訳(メタデータ) (2024-10-31T15:06:16Z) - 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) - TestART: Improving LLM-based Unit Testing via Co-evolution of Automated Generation and Repair Iteration [7.833381226332574]
大規模言語モデル(LLM)は、単体テストケースを生成する際、顕著な能力を示した。
本研究では,新しい単体テスト生成法であるTestARTを提案する。
TestARTは、自動生成と修復の反復の共進化を通じて、LLMベースのユニットテストを改善している。
論文 参考訳(メタデータ) (2024-08-06T10:52:41Z) - GPT-HateCheck: Can LLMs Write Better Functional Tests for Hate Speech Detection? [50.53312866647302]
HateCheckは、合成データに対してきめ細かいモデル機能をテストするスイートである。
GPT-HateCheckは,スクラッチからより多彩で現実的な機能テストを生成するフレームワークである。
クラウドソースのアノテーションは、生成されたテストケースが高品質であることを示しています。
論文 参考訳(メタデータ) (2024-02-23T10:02:01Z) - 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) - Towards Automatic Generation of Amplified Regression Test Oracles [44.45138073080198]
回帰テストオラクルを増幅するためのテストオラクル導出手法を提案する。
このアプローチはテスト実行中にオブジェクトの状態を監視し、以前のバージョンと比較して、SUTの意図した振る舞いに関連する変更を検出する。
論文 参考訳(メタデータ) (2023-07-28T12:38:44Z) - A Comprehensive Survey on Test-Time Adaptation under Distribution Shifts [117.72709110877939]
テスト時間適応(TTA)は、事前訓練されたモデルをテスト中に、予測する前にラベルのないデータに適応する可能性がある。
TTAはテスト時間領域適応、テスト時間バッチ適応、オンラインテスト時間適応といったテストデータの形態に基づいて、いくつかの異なるグループに分類される。
論文 参考訳(メタデータ) (2023-03-27T16:32:21Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。