論文の概要: Automatic Generation of Test Cases based on Bug Reports: a Feasibility
Study with Large Language Models
- arxiv url: http://arxiv.org/abs/2310.06320v1
- Date: Tue, 10 Oct 2023 05:30:12 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-23 03:43:48.914847
- Title: Automatic Generation of Test Cases based on Bug Reports: a Feasibility
Study with Large Language Models
- Title(参考訳): バグレポートに基づくテストケースの自動生成:大規模言語モデルによる実現可能性の検討
- Authors: Laura Plein, Wendk\^uuni C. Ou\'edraogo, Jacques Klein, Tegawend\'e F.
Bissyand\'e
- Abstract要約: 既存のアプローチは、単純なテスト(例えば単体テスト)や正確な仕様を必要とするテストケースを生成する。
ほとんどのテスト手順は、テストスイートを形成するために人間が書いたテストケースに依存しています。
大規模言語モデル(LLM)を活用し,バグレポートを入力として利用することにより,この生成の実現可能性を検討する。
- 参考スコア(独自算出の注目度): 4.318319522015101
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Software testing is a core discipline in software engineering where a large
array of research results has been produced, notably in the area of automatic
test generation. Because existing approaches produce test cases that either can
be qualified as simple (e.g. unit tests) or that require precise
specifications, most testing procedures still rely on test cases written by
humans to form test suites. Such test suites, however, are incomplete: they
only cover parts of the project or they are produced after the bug is fixed.
Yet, several research challenges, such as automatic program repair, and
practitioner processes, build on the assumption that available test suites are
sufficient. There is thus a need to break existing barriers in automatic test
case generation. While prior work largely focused on random unit testing
inputs, we propose to consider generating test cases that realistically
represent complex user execution scenarios, which reveal buggy behaviour. Such
scenarios are informally described in bug reports, which should therefore be
considered as natural inputs for specifying bug-triggering test cases. In this
work, we investigate the feasibility of performing this generation by
leveraging large language models (LLMs) and using bug reports as inputs. Our
experiments include the use of ChatGPT, as an online service, as well as
CodeGPT, a code-related pre-trained LLM that was fine-tuned for our task.
Overall, we experimentally show that bug reports associated to up to 50% of
Defects4J bugs can prompt ChatGPT to generate an executable test case. We show
that even new bug reports can indeed be used as input for generating executable
test cases. Finally, we report experimental results which confirm that
LLM-generated test cases are immediately useful in software engineering tasks
such as fault localization as well as patch validation in automated program
repair.
- Abstract(参考訳): ソフトウェアテストはソフトウェア工学における中核的な分野であり、特に自動テスト生成の分野では、多くの研究結果が生み出されている。
既存の手法は、単純なテスト(例えば単体テスト)や正確な仕様を必要とするテストケースを生成するため、ほとんどのテスト手順は、テストスイートを形成するために人間が書いたテストケースに依存している。
ただし、このようなテストスイートは未完成で、プロジェクトの部分のみをカバーするか、バグが修正された後に生成される。
しかし、自動プログラム修復や実践的プロセスといったいくつかの研究課題は、利用可能なテストスイートが十分であるという仮定に基づいている。
したがって、自動テストケース生成における既存の障壁を破る必要がある。
従来はランダムな単体テストの入力に主眼を置いていたが,複雑なユーザ実行シナリオを現実的に表現するテストケースの生成を検討することを提案する。
このようなシナリオは、バグレポートに非公式に記述されているため、バグトリガテストケースを特定するための自然な入力と見なされるべきである。
本研究では,大規模言語モデル(llm)とバグレポートを入力として活用することにより,この生成の実現可能性を検討する。
私たちの実験には、ChatGPTをオンラインサービスとして使用することや、コード関連でトレーニング済みのLLMであるCodeGPTの使用が含まれています。
全体として、Defects4Jバグの最大50%に関連するバグ報告がChatGPTに実行可能なテストケースを生成することを実験的に示す。
実行可能なテストケースを生成するための入力として,新たなバグレポートが実際に使用できることを示す。
最後に,LLM生成テストケースが故障の局所化や自動プログラム修復におけるパッチ検証といったソフトウェア工学のタスクに即時に有用であることを示す実験結果について報告する。
関連論文リスト
- ProjectTest: A Project-level LLM Unit Test Generation Benchmark and Impact of Error Fixing Mechanisms [48.43237545197775]
単体テスト生成はLLMの有望かつ重要なユースケースとなっている。
ProjectTestは、Python、Java、JavaScriptをカバーするユニットテスト生成のためのプロジェクトレベルのベンチマークである。
論文 参考訳(メタデータ) (2025-02-10T15:24:30Z) - Design choices made by LLM-based test generators prevent them from finding bugs [0.850206009406913]
本稿は,最近のLCMベースのテスト生成ツールであるCodium CoverAgentやCoverUpが,効果的にバグを見つけたり,意図せずに欠陥コードを検証することができるかどうかを,批判的に検証する。
実際の人手によるバグ検出コードを入力として使用すると、これらのツールを評価し、LCM生成テストがバグの検出に失敗する可能性を示し、さらに警告として、生成されたテストスイートのバグを検証することで、その設計が状況を悪化させる可能性があることを示します。
論文 参考訳(メタデータ) (2024-12-18T18:33:26Z) - System Test Case Design from Requirements Specifications: Insights and Challenges of Using ChatGPT [1.9282110216621835]
本稿では,Large Language Models (LLMs) を用いてソフトウェア要件仕様 (SRS) 文書からテストケース設計を作成することの有効性について検討する。
生成したテストケースの約87%が有効で、残りの13%は適用不可能か冗長かのどちらかでした。
論文 参考訳(メタデータ) (2024-12-04T20:12:27Z) - Leveraging Large Language Models for Enhancing the Understandability of Generated Unit Tests [4.574205608859157]
我々は,検索ベースのソフトウェアテストと大規模言語モデルを組み合わせたUTGenを導入し,自動生成テストケースの理解性を向上する。
UTGenテストケースで課題に取り組む参加者は、最大33%のバグを修正し、ベースラインテストケースと比較して最大20%の時間を使用できます。
論文 参考訳(メタデータ) (2024-08-21T15:35:34Z) - GPT-HateCheck: Can LLMs Write Better Functional Tests for Hate Speech Detection? [50.53312866647302]
HateCheckは、合成データに対してきめ細かいモデル機能をテストするスイートである。
GPT-HateCheckは,スクラッチからより多彩で現実的な機能テストを生成するフレームワークである。
クラウドソースのアノテーションは、生成されたテストケースが高品質であることを示しています。
論文 参考訳(メタデータ) (2024-02-23T10:02:01Z) - Automated Test Case Repair Using Language Models [0.5708902722746041]
欠陥のないテストケースは、テストスイートの品質を低下させ、ソフトウェア開発プロセスを破壊します。
テストケースの自動修復に事前訓練されたコード言語モデルを活用する新しいアプローチであるTaRGETを提案する。
TaRGETは、テスト修復を言語翻訳タスクとして扱い、言語モデルを微調整するために2段階のプロセスを使用する。
論文 参考訳(メタデータ) (2024-01-12T18:56:57Z) - 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) - CodeT: Code Generation with Generated Tests [49.622590050797236]
テストケースを自動的に生成するための事前学習言語モデルについて検討する。
CodeTは生成されたテストケースを使ってコードソリューションを実行し、次に最良のソリューションを選択します。
我々は,HumanEvalとMBPPのベンチマークを用いて,5種類の事前学習モデル上でCodeTを評価する。
論文 参考訳(メタデータ) (2022-07-21T10:18:37Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - Beyond Accuracy: Behavioral Testing of NLP models with CheckList [66.42971817954806]
CheckList は NLP モデルをテストするためのタスクに依存しない方法論である。
CheckListには、包括的なテストのアイデアを促進する一般的な言語機能とテストタイプのマトリックスが含まれている。
ユーザスタディでは、CheckListのNLP実践者が2倍の数のテストを作成し、それのないユーザの約3倍のバグを発見しました。
論文 参考訳(メタデータ) (2020-05-08T15:48:31Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。