論文の概要: Large Language Models are Few-shot Testers: Exploring LLM-based General
Bug Reproduction
- arxiv url: http://arxiv.org/abs/2209.11515v3
- Date: Tue, 25 Jul 2023 03:47:36 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-24 15:07:56.033802
- Title: Large Language Models are Few-shot Testers: Exploring LLM-based General
Bug Reproduction
- Title(参考訳): LLMベースの汎用バグ再現を探求する大規模言語モデル
- Authors: Sungmin Kang, Juyeon Yoon, Shin Yoo
- Abstract要約: 問題によりオープンソースリポジトリに追加されたテストの数は、対応するプロジェクトテストスイートサイズの約28%であった。
本稿では,Large Language Models (LLMs) を用いたLIBROを提案する。
LIBROの評価は、広く研究されているDefects4Jベンチマークにおいて、全ての研究ケースの33%で障害再現テストケースを生成することができることを示している。
- 参考スコア(独自算出の注目度): 14.444294152595429
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Many automated test generation techniques have been developed to aid
developers with writing tests. To facilitate full automation, most existing
techniques aim to either increase coverage, or generate exploratory inputs.
However, existing test generation techniques largely fall short of achieving
more semantic objectives, such as generating tests to reproduce a given bug
report. Reproducing bugs is nonetheless important, as our empirical study shows
that the number of tests added in open source repositories due to issues was
about 28% of the corresponding project test suite size. Meanwhile, due to the
difficulties of transforming the expected program semantics in bug reports into
test oracles, existing failure reproduction techniques tend to deal exclusively
with program crashes, a small subset of all bug reports. To automate test
generation from general bug reports, we propose LIBRO, a framework that uses
Large Language Models (LLMs), which have been shown to be capable of performing
code-related tasks. Since LLMs themselves cannot execute the target buggy code,
we focus on post-processing steps that help us discern when LLMs are effective,
and rank the produced tests according to their validity. Our evaluation of
LIBRO shows that, on the widely studied Defects4J benchmark, LIBRO can generate
failure reproducing test cases for 33% of all studied cases (251 out of 750),
while suggesting a bug reproducing test in first place for 149 bugs. To
mitigate data contamination, we also evaluate LIBRO against 31 bug reports
submitted after the collection of the LLM training data terminated: LIBRO
produces bug reproducing tests for 32% of the studied bug reports. Overall, our
results show LIBRO has the potential to significantly enhance developer
efficiency by automatically generating tests from bug reports.
- Abstract(参考訳): 開発者がテストを書くのを助けるために、多くの自動テスト生成技術が開発されている。
完全な自動化を容易にするため、既存のほとんどの技術はカバレッジを増やすか、探索的なインプットを生成することを目指している。
しかし、既存のテスト生成技術は、与えられたバグレポートを再現するためのテスト生成のような、よりセマンティックな目的を達成するには不足している。
私たちの実証的な調査によると、問題によってオープンソースリポジトリに追加されたテストの数は、対応するプロジェクトテストスイートの約28%でした。
一方、バグレポートの期待されるプログラムセマンティクスをテストオーラクルに変換するのが難しいため、既存の障害再現技術は、バグレポートのごく一部であるプログラムクラッシュにのみ対処する傾向にある。
一般的なバグレポートからテスト生成を自動化するために,大規模な言語モデル(llms)を使用するフレームワークであるlibroを提案する。
LLM自体が対象のバギーコードを実行することができないため、LLMが有効であるかどうかを判断するための後処理ステップに焦点を合わせ、その妥当性に応じて生成されたテストをランク付けする。
LIBROの評価は,広く研究されているDefects4Jベンチマークを用いて,全症例の33%(750件中251件)の障害再現テストケースを生成可能であるとともに,149件のバグに対して,バグ再現テストが第一に提案されている。
LLMトレーニングデータの収集終了後に提出された31件のバグレポートに対して,データ汚染を軽減するため,LIBROは32%のバグレポートに対して,バグ再現テストを生成する。
その結果,LIBROはバグレポートから自動でテストを生成することにより,開発者の効率を大幅に向上する可能性が示唆された。
関連論文リスト
- 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) - What's Wrong with Your Code Generated by Large Language Models? An Extensive Study [80.18342600996601]
大規模言語モデル(LLM)は、標準解に比べて短いがより複雑なコードを生成する。
3つのカテゴリと12のサブカテゴリを含む誤ったコードに対するバグの分類を開発し、一般的なバグタイプに対する根本原因を分析する。
そこで本研究では,LLMがバグタイプやコンパイラフィードバックに基づいて生成したコードを批判し,修正することのできる,自己批判を導入した新たな学習自由反復手法を提案する。
論文 参考訳(メタデータ) (2024-07-08T17:27:17Z) - Leveraging Large Language Models for Efficient Failure Analysis in Game Development [47.618236610219554]
本稿では,テストの失敗の原因となるコードの変更を自動的に識別する手法を提案する。
このメソッドは、LLM(Large Language Models)を利用して、エラーメッセージと対応するコード変更を関連付ける。
当社のアプローチは新たに作成したデータセットで71%の精度に達しています。
論文 参考訳(メタデータ) (2024-06-11T09:21:50Z) - Test Oracle Automation in the era of LLMs [52.69509240442899]
大規模言語モデル(LLM)は、多様なソフトウェアテストタスクに取り組むのに顕著な能力を示した。
本研究の目的は, 各種のオラクル生成時に生じる課題とともに, LLMs によるオラクルの自動化の可能性について検討することである。
論文 参考訳(メタデータ) (2024-05-21T13:19:10Z) - DebugBench: Evaluating Debugging Capability of Large Language Models [80.73121177868357]
DebugBench - LLM(Large Language Models)のベンチマーク。
C++、Java、Pythonの4つの主要なバグカテゴリと18のマイナータイプをカバーする。
ゼロショットシナリオで2つの商用および4つのオープンソースモデルを評価する。
論文 参考訳(メタデータ) (2024-01-09T15:46:38Z) - Evaluating Diverse Large Language Models for Automatic and General Bug
Reproduction [12.851941377433285]
大規模言語モデル(LLM)は自然言語処理やコード生成に適していることが証明されている。
提案手法は,広く使用されているDefects4Jベンチマークにおいて,全バグの約3分の1を再現することができた。
論文 参考訳(メタデータ) (2023-11-08T08:42:30Z) - Automatic Generation of Test Cases based on Bug Reports: a Feasibility
Study with Large Language Models [4.318319522015101]
既存のアプローチは、単純なテスト(例えば単体テスト)や正確な仕様を必要とするテストケースを生成する。
ほとんどのテスト手順は、テストスイートを形成するために人間が書いたテストケースに依存しています。
大規模言語モデル(LLM)を活用し,バグレポートを入力として利用することにより,この生成の実現可能性を検討する。
論文 参考訳(メタデータ) (2023-10-10T05:30:12Z) - Effective Test Generation Using Pre-trained Large Language Models and
Mutation Testing [13.743062498008555]
大規模言語モデル(LLM)が生成するテストケースの有効性を,バグの発見の観点から改善するための MuTAP を導入する。
MuTAPは、プログラム・アンダー・テスト(PUT)の自然言語記述がない場合に有効なテストケースを生成することができる
提案手法は, 最大28%の人書きコードスニペットを検出できることを示す。
論文 参考訳(メタデータ) (2023-08-31T08:48:31Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Beyond Accuracy: Behavioral Testing of NLP models with CheckList [66.42971817954806]
CheckList は NLP モデルをテストするためのタスクに依存しない方法論である。
CheckListには、包括的なテストのアイデアを促進する一般的な言語機能とテストタイプのマトリックスが含まれている。
ユーザスタディでは、CheckListのNLP実践者が2倍の数のテストを作成し、それのないユーザの約3倍のバグを発見しました。
論文 参考訳(メタデータ) (2020-05-08T15:48:31Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。