論文の概要: Automated Bug Generation in the era of Large Language Models
- arxiv url: http://arxiv.org/abs/2310.02407v1
- Date: Tue, 3 Oct 2023 20:01:51 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-05 17:41:02.785895
- Title: Automated Bug Generation in the era of Large Language Models
- Title(参考訳): 大規模言語モデルにおける自動バグ生成
- Authors: Ali Reza Ibrahimzada, Yang Chen, Ryan Rong, Reyhaneh Jabbarvand
- Abstract要約: 任意のコードを複数の複雑なバグに変換するために,BugFarmを提案する。
BugFarmは、学習ベースのバグ予測アプローチによって検出が困難で、SOTA学習ベースのプログラム修復技術によって修正が難しいバグを生成する。
- 参考スコア(独自算出の注目度): 6.519768481767584
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Bugs are essential in software engineering; many research studies in the past
decades have been proposed to detect, localize, and repair bugs in software
systems. Effectiveness evaluation of such techniques requires complex bugs,
i.e., those that are hard to detect through testing and hard to repair through
debugging. From the classic software engineering point of view, a
hard-to-repair bug differs from the correct code in multiple locations, making
it hard to localize and repair. Hard-to-detect bugs, on the other hand,
manifest themselves under specific test inputs and reachability conditions.
These two objectives, i.e., generating hard-to-detect and hard-to-repair bugs,
are mostly aligned; a bug generation technique can change multiple statements
to be covered only under a specific set of inputs. However, these two
objectives are conflicting for learning-based techniques: A bug should have a
similar code representation to the correct code in the training data to
challenge a bug prediction model to distinguish them. The hard-to-repair bug
definition remains the same but with a caveat: the more a bug differs from the
original code (at multiple locations), the more distant their representations
are and easier to be detected. We propose BugFarm, to transform arbitrary code
into multiple complex bugs. BugFarm leverages LLMs to mutate code in multiple
locations (hard-to-repair). To ensure that multiple modifications do not
notably change the code representation, BugFarm analyzes the attention of the
underlying model and instructs LLMs to only change the least attended locations
(hard-to-detect). Our comprehensive evaluation of 320k+ bugs from over 2.5M
mutants generated by BugFarm and two alternative approaches demonstrates our
superiority in generating bugs that are hard to detect by learning-based bug
prediction approaches and hard to repair by SOTA learning-based program repair
technique.
- Abstract(参考訳): バグはソフトウェア工学において必須であり、ソフトウェアシステムのバグを検出し、ローカライズし、修復するための過去数十年の研究が数多く提案されている。
このようなテクニックの有効性評価には、複雑なバグ、すなわちテストを通じて検出が困難で、デバッグによる修復が難しいバグが必要である。
古典的なソフトウェアエンジニアリングの観点から見れば、修復が難しいバグは、複数の場所にある正しいコードとは異なるため、ローカライズと修復が難しい。
一方、検出しにくいバグは、特定のテスト入力と到達可能性条件の下で現れる。
これらの2つの目的、すなわち、検出しにくいバグと修復しにくいバグを生成することは、ほとんど一致している。
バグはトレーニングデータ内の正しいコードと同じようなコード表現を持ち、それらを区別するためにバグ予測モデルに挑戦するべきです。
バグが元のコードと(複数の場所で)異なるほど、それらの表現はより遠く、検出しやすくなります。
任意のコードを複数の複雑なバグに変換するbugfarmを提案する。
BugFarmはLLMを活用して、複数の場所(ハード・トゥ・リペア)でコードを変更する。
複数の変更がコード表現を著しく変更しないことを保証するため、bugfarmは基礎となるモデルの注意を解析し、llmに最下位の場所のみを変更するよう指示する(検出が難しい)。
BugFarmが生成した2.5万以上のミュータントによる320k以上のバグの包括的評価と、2つの別のアプローチは、学習ベースのバグ予測アプローチとSOTA学習ベースのプログラム修復手法による修正が難しいバグの検出において、我々の優位性を示している。
関連論文リスト
- 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) - PreciseBugCollector: Extensible, Executable and Precise Bug-fix
Collection [8.79879909193717]
正確な多言語バグ収集手法であるPreciseBugCollectorを紹介する。
外部バグリポジトリでリポジトリをマップしてバグタイプ情報をトレースするバグトラッカと、プロジェクト固有のバグを生成するバグインジェクタの2つの新しいコンポーネントに基づいている。
現在、PreciseBugCollectorは2968のオープンソースプロジェクトから抽出された1057818のバグを含んでいる。
論文 参考訳(メタデータ) (2023-09-12T13:47:44Z) - RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic
Program Repair [75.40584530380589]
新たな検索型パッチ生成フレームワーク(RAP-Gen)を提案する。
RAP-Gen 以前のバグ修正ペアのリストから取得した関連する修正パターンを明示的に活用する。
RAP-GenをJavaScriptのTFixベンチマークとJavaのCode RefinementとDefects4Jベンチマークの2つのプログラミング言語で評価する。
論文 参考訳(メタデータ) (2023-09-12T08:52:56Z) - Large Language Models of Code Fail at Completing Code with Potential
Bugs [30.80172644795715]
リアルタイムコード提案に触発されたバグコード補完問題について検討する。
潜在的なバグの存在は、高性能なCode-LLMの生成性能を著しく低下させる。
論文 参考訳(メタデータ) (2023-06-06T06:35:27Z) - WELL: Applying Bug Detectors to Bug Localization via Weakly Supervised
Learning [37.09621161662761]
本稿では,バグローカライゼーションモデルをトレーニングするためのWEakly supervised bug LocaLization (WELL) 手法を提案する。
CodeBERTはバギーまたはノーのバイナリラベル付きデータに基づいて微調整されるため、WELLはバグのローカライゼーションを弱教師付きで解決することができる。
論文 参考訳(メタデータ) (2023-05-27T06:34:26Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Using Developer Discussions to Guide Fixing Bugs in Software [51.00904399653609]
我々は,タスク実行前に利用可能であり,また自然発生しているバグレポートの議論を,開発者による追加情報の必要性を回避して利用することを提案する。
このような議論から派生したさまざまな自然言語コンテキストがバグ修正に役立ち、オラクルのバグ修正コミットに対応するコミットメッセージの使用よりもパフォーマンスの向上につながることを実証する。
論文 参考訳(メタデータ) (2022-11-11T16:37:33Z) - BigIssue: A Realistic Bug Localization Benchmark [89.8240118116093]
BigIssueは、現実的なバグローカライゼーションのためのベンチマークである。
実際のJavaバグと合成Javaバグの多様性を備えた一般的なベンチマークを提供する。
われわれは,バグローカライゼーションの最先端技術として,APRの性能向上と,現代の開発サイクルへの適用性の向上を期待している。
論文 参考訳(メタデータ) (2022-07-21T20:17:53Z) - Can we learn from developer mistakes? Learning to localize and repair
real bugs from real bug fixes [0.5330240017302619]
私たちは、実際のバグ修正から実際のバグをローカライズし、修正する学習のための、事前訓練と微調整のアプローチであるRealiTを紹介します。
RealiTを使った実際のバグ修正のトレーニングは、実際のバグに対して既存のモデルのローカライズ性能をほぼ倍にすることで、経験的に強力であることが分かりました。
論文 参考訳(メタデータ) (2022-07-01T09:49:17Z) - Self-Supervised Bug Detection and Repair [27.46717890823656]
本稿では,バグ検出と修復の自己教師型学習手法であるBugLabを紹介する。
BugLabのPython実装では、2374の実際のバグのテストデータセットのベースラインメソッドで最大30%改善されている。
論文 参考訳(メタデータ) (2021-05-26T18:41:05Z) - D2A: A Dataset Built for AI-Based Vulnerability Detection Methods Using
Differential Analysis [55.15995704119158]
静的解析ツールによって報告されたラベル問題に対する差分解析に基づくアプローチであるD2Aを提案する。
D2Aを使用して大きなラベル付きデータセットを生成し、脆弱性識別のためのモデルをトレーニングします。
論文 参考訳(メタデータ) (2021-02-16T07:46:53Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。