論文の概要: Effective Test Generation Using Pre-trained Large Language Models and
Mutation Testing
- arxiv url: http://arxiv.org/abs/2308.16557v1
- Date: Thu, 31 Aug 2023 08:48:31 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-23 11:54:31.127722
- Title: Effective Test Generation Using Pre-trained Large Language Models and
Mutation Testing
- Title(参考訳): 事前学習型大言語モデルと突然変異テストを用いた効果的なテスト生成
- Authors: Arghavan Moradi Dakhel, Amin Nikanjam, Vahid Majdinasab, Foutse Khomh,
Michel C. Desmarais
- Abstract要約: 大規模言語モデル(LLM)が生成するテストケースの有効性を,バグの発見の観点から改善するための MuTAP を導入する。
MuTAPは、プログラム・アンダー・テスト(PUT)の自然言語記述がない場合に有効なテストケースを生成することができる
提案手法は, 最大28%の人書きコードスニペットを検出できることを示す。
- 参考スコア(独自算出の注目度): 13.743062498008555
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: One of the critical phases in software development is software testing.
Testing helps with identifying potential bugs and reducing maintenance costs.
The goal of automated test generation tools is to ease the development of tests
by suggesting efficient bug-revealing tests. Recently, researchers have
leveraged Large Language Models (LLMs) of code to generate unit tests. While
the code coverage of generated tests was usually assessed, the literature has
acknowledged that the coverage is weakly correlated with the efficiency of
tests in bug detection. To improve over this limitation, in this paper, we
introduce MuTAP for improving the effectiveness of test cases generated by LLMs
in terms of revealing bugs by leveraging mutation testing. Our goal is achieved
by augmenting prompts with surviving mutants, as those mutants highlight the
limitations of test cases in detecting bugs. MuTAP is capable of generating
effective test cases in the absence of natural language descriptions of the
Program Under Test (PUTs). We employ different LLMs within MuTAP and evaluate
their performance on different benchmarks. Our results show that our proposed
method is able to detect up to 28% more faulty human-written code snippets.
Among these, 17% remained undetected by both the current state-of-the-art fully
automated test generation tool (i.e., Pynguin) and zero-shot/few-shot learning
approaches on LLMs. Furthermore, MuTAP achieves a Mutation Score (MS) of 93.57%
on synthetic buggy code, outperforming all other approaches in our evaluation.
Our findings suggest that although LLMs can serve as a useful tool to generate
test cases, they require specific post-processing steps to enhance the
effectiveness of the generated test cases which may suffer from syntactic or
functional errors and may be ineffective in detecting certain types of bugs and
testing corner cases PUTs.
- Abstract(参考訳): ソフトウェア開発における重要なフェーズの1つは、ソフトウェアテストです。
テストは潜在的なバグを特定し、メンテナンスコストを削減するのに役立つ。
自動テスト生成ツールの目標は、効率的なバグ発見テストを提案することで、テストの開発を容易にすることである。
最近、研究者はユニットテストを生成するためにLLM(Large Language Models)のコードを活用している。
生成したテストのコードカバレッジは通常評価されたが、このカバレッジはバグ検出におけるテストの効率と弱い相関があることを文献は認めている。
この制限を克服するために,本論文では,変異検査を利用してバグを明らかにすることで,LLMが生成するテストケースの有効性を向上させるための MuTAP を提案する。
これらの変異体は、バグを検出する際のテストケースの限界を強調するため、生き残ったミュータントによるプロンプトの増強によって達成されます。
MuTAPは、プログラム・アンダー・テスト(PUT)の自然言語記述がない場合に有効なテストケースを生成することができる。
我々は MuTAP 内で異なる LLM を使用し、その性能を異なるベンチマークで評価する。
その結果,提案手法は最大28%の誤りのあるコードスニペットを検出できることがわかった。
そのうち17%は現在の最先端の完全自動テスト生成ツール(Pynguin)とゼロショット/フェーショットのLLMでの学習アプローチの両方で検出されなかった。
さらに、Mutation Score(MS)は93.57%の合成バグギーコードで達成され、評価において他の全てのアプローチよりも優れています。
その結果,LSMはテストケースを生成する上で有用なツールとして機能するが,構文的あるいは機能的エラーに悩まされ,特定のバグの検出やコーナーケースPUTの検査に有効でない可能性のある,生成したテストケースの有効性を高めるためには,特定の後処理ステップが必要であることが示唆された。
関連論文リスト
- Leveraging Large Language Models for Enhancing the Understandability of Generated Unit Tests [4.574205608859157]
我々は,検索ベースのソフトウェアテストと大規模言語モデルを組み合わせたUTGenを導入し,自動生成テストケースの理解性を向上する。
UTGenテストケースで課題に取り組む参加者は、最大33%のバグを修正し、ベースラインテストケースと比較して最大20%の時間を使用できます。
論文 参考訳(メタデータ) (2024-08-21T15:35:34Z) - Improving LLM-based Unit test generation via Template-based Repair [8.22619177301814]
単体テストは個々のプログラムユニットのバグを検出するのに不可欠だが、時間と労力を消費する。
大規模言語モデル(LLM)は、顕著な推論と生成能力を示している。
本稿では,新しい単体テスト生成法であるTestARTを提案する。
論文 参考訳(メタデータ) (2024-08-06T10:52:41Z) - Large Language Models as Test Case Generators: Performance Evaluation and Enhancement [3.5398126682962587]
大規模言語モデルが高品質なテストケースをいかに生み出すかを検討する。
本稿では,テストインプットとテストアウトプットの生成を分離するemphTestChainというマルチエージェントフレームワークを提案する。
以上の結果から,TestChainはベースラインのマージンを大きく上回っていることが示唆された。
論文 参考訳(メタデータ) (2024-04-20T10:27:01Z) - GPT-HateCheck: Can LLMs Write Better Functional Tests for Hate Speech Detection? [50.53312866647302]
HateCheckは、合成データに対してきめ細かいモデル機能をテストするスイートである。
GPT-HateCheckは,スクラッチからより多彩で現実的な機能テストを生成するフレームワークである。
クラウドソースのアノテーションは、生成されたテストケースが高品質であることを示しています。
論文 参考訳(メタデータ) (2024-02-23T10:02:01Z) - Self-Evaluation Improves Selective Generation in Large Language Models [54.003992911447696]
オープンエンド生成タスクをトークンレベルの予測タスクに再構成する。
我々はLSMに答えを自己評価するように指示する。
自己評価に基づくスコアリング手法をベンチマークする。
論文 参考訳(メタデータ) (2023-12-14T19:09:22Z) - Automatic Generation of Test Cases based on Bug Reports: a Feasibility
Study with Large Language Models [4.318319522015101]
既存のアプローチは、単純なテスト(例えば単体テスト)や正確な仕様を必要とするテストケースを生成する。
ほとんどのテスト手順は、テストスイートを形成するために人間が書いたテストケースに依存しています。
大規模言語モデル(LLM)を活用し,バグレポートを入力として利用することにより,この生成の実現可能性を検討する。
論文 参考訳(メタデータ) (2023-10-10T05:30:12Z) - Towards Automatic Generation of Amplified Regression Test Oracles [44.45138073080198]
回帰テストオラクルを増幅するためのテストオラクル導出手法を提案する。
このアプローチはテスト実行中にオブジェクトの状態を監視し、以前のバージョンと比較して、SUTの意図した振る舞いに関連する変更を検出する。
論文 参考訳(メタデータ) (2023-07-28T12:38:44Z) - LLMs as Factual Reasoners: Insights from Existing Benchmarks and Beyond [135.8013388183257]
そこで我々は,SummEditsと呼ばれる10ドメインのベンチマークで不整合検出ベンチマークを作成し,実装する新しいプロトコルを提案する。
ほとんどのLLMはSummEditsで苦労しており、パフォーマンスはランダムに近い。
最も優れたモデルであるGPT-4は、推定された人間のパフォーマンスよりも8%低い。
論文 参考訳(メタデータ) (2023-05-23T21:50:06Z) - Large Language Models are Few-shot Testers: Exploring LLM-based General
Bug Reproduction [14.444294152595429]
問題によりオープンソースリポジトリに追加されたテストの数は、対応するプロジェクトテストスイートサイズの約28%であった。
本稿では,Large Language Models (LLMs) を用いたLIBROを提案する。
LIBROの評価は、広く研究されているDefects4Jベンチマークにおいて、全ての研究ケースの33%で障害再現テストケースを生成することができることを示している。
論文 参考訳(メタデータ) (2022-09-23T10:50:47Z) - Beyond Accuracy: Behavioral Testing of NLP models with CheckList [66.42971817954806]
CheckList は NLP モデルをテストするためのタスクに依存しない方法論である。
CheckListには、包括的なテストのアイデアを促進する一般的な言語機能とテストタイプのマトリックスが含まれている。
ユーザスタディでは、CheckListのNLP実践者が2倍の数のテストを作成し、それのないユーザの約3倍のバグを発見しました。
論文 参考訳(メタデータ) (2020-05-08T15:48:31Z) - Noisy Adaptive Group Testing using Bayesian Sequential Experimental
Design [63.48989885374238]
病気の感染頻度が低い場合、Dorfman氏は80年前に、人のテストグループは個人でテストするよりも効率が良いことを示した。
本研究の目的は,ノイズの多い環境で動作可能な新しいグループテストアルゴリズムを提案することである。
論文 参考訳(メタデータ) (2020-04-26T23:41:33Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。