論文の概要: Automated Bug Generation in the era of Large Language Models
- arxiv url: http://arxiv.org/abs/2310.02407v2
- Date: Thu, 03 Oct 2024 19:52:09 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-10-07 18:20:27.454417
- 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が生成した1.9万以上の変異株から435k以上のバグを総合的に評価する。
- 参考スコア(独自算出の注目度): 6.0770779409377775
- License:
- 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, 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 435k+ bugs from over 1.9M 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 state-of-the-art learning-based program repair technique.
- Abstract(参考訳): バグはソフトウェア工学において必須であり、ソフトウェアシステムのバグを検出し、ローカライズし、修復するための過去数十年の研究が数多く提案されている。
このような手法の有効性評価には複雑なバグ、すなわち、テストによって検出し難く、デバッグを通じて修復し難いバグが必要である。
古典的なソフトウェアエンジニアリングの観点から見れば、修復が難しいバグは、複数の場所にある正しいコードとは異なるため、ローカライズと修復が難しい。
一方、検出しにくいバグは、特定のテストインプットと到達可能性条件の下で現れます。
これら2つの目的、すなわち、検出しにくいバグと修正しにくいバグを生成することは、概ね一致している。
バグはトレーニングデータ内の正しいコードと同じようなコード表現を持ち、それらを区別するためにバグ予測モデルに挑戦するべきです。
バグが元のコードと異なるほど、その表現がより遠く、検出しやすくなります。
任意のコードを複数の複雑なバグに変換するために,BugFarmを提案する。
BugFarmはLLMを活用して、複数の場所(ハード・トゥ・リペア)でコードを変更する。
複数の修正がコード表現を明示的に変更しないことを保証するため、BugFarmは基盤となるモデルの注意を解析し、最寄りの場所(ハード・トゥ・ディテクト)だけを変更するようにLCMに指示する。
BUGFARMが生成した1.9万以上のミュータントによる435k以上のバグの包括的評価と2つの別のアプローチは、学習ベースのバグ予測アプローチと最先端の学習ベースのプログラム修復手法により検出し難いバグの生成において、我々の優位性を実証している。
関連論文リスト
- 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。