論文の概要: Test smells in LLM-Generated Unit Tests
- arxiv url: http://arxiv.org/abs/2410.10628v1
- Date: Mon, 14 Oct 2024 15:35:44 GMT
- ステータス: 処理完了
- システム内更新日: 2024-10-29 20:35:30.875593
- Title: Test smells in LLM-Generated Unit Tests
- Title(参考訳): LLM生成ユニットテストにおけるテスト臭
- Authors: Wendkûuni C. Ouédraogo, Yinghua Li, Kader Kaboré, Xunzhu Tang, Anil Koyuncu, Jacques Klein, David Lo, Tegawendé F. Bissyandé,
- Abstract要約: 本研究では,大規模言語モデルの生成した単体テストスイートにおけるテストの匂いの拡散について検討する。
5つのプロンプトエンジニアリング技術で4つのモデルで生成された20,500 LLM生成テストスイートのベンチマークを解析した。
我々は,LLM生成テストスイートと筆記テストスイートの両方において,種々のテスト匂いの出現頻度と発生頻度を同定し,解析する。
- 参考スコア(独自算出の注目度): 11.517293765116307
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: The use of Large Language Models (LLMs) in automated test generation is gaining popularity, with much of the research focusing on metrics like compilability rate, code coverage and bug detection. However, an equally important quality metric is the presence of test smells design flaws or anti patterns in test code that hinder maintainability and readability. In this study, we explore the diffusion of test smells in LLM generated unit test suites and compare them to those found in human written ones. We analyze a benchmark of 20,500 LLM-generated test suites produced by four models (GPT-3.5, GPT-4, Mistral 7B, and Mixtral 8x7B) across five prompt engineering techniques, alongside a dataset of 780,144 human written test suites from 34,637 projects. Leveraging TsDetect, a state of the art tool capable of detecting 21 different types of test smells, we identify and analyze the prevalence and co-occurrence of various test smells in both human written and LLM-generated test suites. Our findings reveal new insights into the strengths and limitations of LLMs in test generation. First, regarding prevalence, we observe that LLMs frequently generate tests with common test smells, such as Magic Number Test and Assertion Roulette. Second, in terms of co occurrence, certain smells, like Long Test and Useless Test, tend to co occur in LLM-generated suites, influenced by specific prompt techniques. Third, we find that project complexity and LLM specific factors, including model size and context length, significantly affect the prevalence of test smells. Finally, the patterns of test smells in LLM-generated tests often mirror those in human-written tests, suggesting potential data leakage from training datasets. These insights underscore the need to refine LLM-based test generation for cleaner code and suggest improvements in both LLM capabilities and software testing practices.
- Abstract(参考訳): 自動テスト生成におけるLarge Language Models (LLMs)の使用は、コンパイル可能性率、コードカバレッジ、バグ検出といったメトリクスに焦点を当てた研究で人気を集めている。
しかし、同様に重要な品質基準は、テストの臭いやテストコードにアンチパターンがあることで、保守性と可読性を妨げている。
本研究では,LLM生成単体テストスイートにおけるテスト匂いの拡散について検討し,人体で見られるものと比較する。
我々は,4つのモデル(GPT-3.5,GPT-4,Mistral 7B,Mixtral 8x7B)で生成された20,500 LLM生成テストスイートのベンチマークを,34,637件のプロジェクトから780,144件の人手によるテストスイートのデータセットとともに解析した。
TsDetectは21種類のテスト臭いを検知できる最先端のツールであり、人書きとLLM生成テストスイートの両方において、さまざまなテスト匂いの出現状況と発生状況を特定し、分析する。
その結果,LLMの強度と限界に対する新たな知見が得られた。
まず,LLMがマジックナンバーテストやAssertion Rouletteといった,一般的なテスト臭いの検査を頻繁に生成しているのが実例である。
第2に、共同発生の観点では、Long TestやUseless Testのような特定の臭いは、特定のプロンプト技術の影響を受けながら、LLM生成スイートで発生しがちである。
第三に、プロジェクトの複雑さとLLM特有の要因、例えばモデルのサイズやコンテキストの長さがテストの匂いの頻度に大きく影響していることがわかりました。
最後に、LLM生成テストにおけるテストの臭いのパターンは、しばしば人間が書いたテストの匂いを反映し、トレーニングデータセットから潜在的なデータ漏洩を示唆する。
これらの洞察は、よりクリーンなコードのためにLLMベースのテスト生成を洗練することの必要性を強調し、LLM機能とソフトウェアテストプラクティスの両方の改善を提案する。
関連論文リスト
- SpecTool: A Benchmark for Characterizing Errors in Tool-Use LLMs [77.79172008184415]
SpecToolは、ツール使用タスクのLLM出力のエラーパターンを特定するための新しいベンチマークである。
もっとも顕著なLCMでも,これらの誤りパターンが出力に現れることを示す。
SPECTOOLの分析と洞察を使って、エラー軽減戦略をガイドすることができる。
論文 参考訳(メタデータ) (2024-11-20T18:56:22Z) - SYNTHEVAL: Hybrid Behavioral Testing of NLP Models with Synthetic CheckLists [59.08999823652293]
我々は,NLPモデルの包括的評価のために,SyntheVALを提案する。
最後の段階では、人間の専門家が困難な例を調査し、手動でテンプレートを設計し、タスク固有のモデルが一貫して示す障害の種類を特定します。
我々は、感情分析と有害言語検出という2つの分類課題にSynTHEVALを適用し、これらの課題における強力なモデルの弱点を特定するのに、我々のフレームワークが有効であることを示す。
論文 参考訳(メタデータ) (2024-08-30T17:41:30Z) - 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 Oracle Automation in the era of LLMs [52.69509240442899]
大規模言語モデル(LLM)は、多様なソフトウェアテストタスクに取り組むのに顕著な能力を示した。
本研究の目的は, 各種のオラクル生成時に生じる課題とともに, LLMs によるオラクルの自動化の可能性について検討することである。
論文 参考訳(メタデータ) (2024-05-21T13:19:10Z) - Large Language Models as Test Case Generators: Performance Evaluation and Enhancement [3.5398126682962587]
大規模言語モデルが高品質なテストケースをいかに生み出すかを検討する。
本稿では,テストインプットとテストアウトプットの生成を分離するemphTestChainというマルチエージェントフレームワークを提案する。
以上の結果から,TestChainはベースラインのマージンを大きく上回っていることが示唆された。
論文 参考訳(メタデータ) (2024-04-20T10:27: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) - LLMs as Factual Reasoners: Insights from Existing Benchmarks and Beyond [135.8013388183257]
そこで我々は,SummEditsと呼ばれる10ドメインのベンチマークで不整合検出ベンチマークを作成し,実装する新しいプロトコルを提案する。
ほとんどのLLMはSummEditsで苦労しており、パフォーマンスはランダムに近い。
最も優れたモデルであるGPT-4は、推定された人間のパフォーマンスよりも8%低い。
論文 参考訳(メタデータ) (2023-05-23T21:50:06Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。