論文の概要: On Distribution Shift in Learning-based Bug Detectors
- arxiv url: http://arxiv.org/abs/2204.10049v1
- Date: Thu, 21 Apr 2022 12:17:22 GMT
- ステータス: 処理完了
- システム内更新日: 2022-04-22 19:27:32.568490
- Title: On Distribution Shift in Learning-based Bug Detectors
- Title(参考訳): 学習に基づくバグ検知器の分布変化について
- Authors: Jingxuan He, Luca Beurer-Kellner, Martin Vechev
- Abstract要約: まず、モデルをバグ検出領域に適応させるため、次に実際のバグ検出領域に適応させるために、モデルを実際の配布に向けて駆動するために、バグ検出装置を2つのフェーズで訓練する。
我々は,本手法を広範に研究した3種類のバグタイプに対して評価し,実際のバグ分布を捉えるために慎重に設計された新しいデータセットを構築した。
- 参考スコア(独自算出の注目度): 4.511923587827301
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Deep learning has recently achieved initial success in program analysis tasks
such as bug detection. Lacking real bugs, most existing works construct
training and test data by injecting synthetic bugs into correct programs.
Despite achieving high test accuracy (e.g. >90%), the resulting bug detectors
are found to be surprisingly unusable in practice, i.e., <10% precision when
used to scan real software repositories. In this work, we argue that this
massive performance difference is caused by distribution shift, i.e., a
fundamental mismatch between the real bug distribution and the synthetic bug
distribution used to train and evaluate the detectors. To address this key
challenge, we propose to train a bug detector in two phases, first on a
synthetic bug distribution to adapt the model to the bug detection domain, and
then on a real bug distribution to drive the model towards the real
distribution. During these two phases, we leverage a multi-task hierarchy,
focal loss, and contrastive learning to further boost performance. We evaluate
our approach extensively on three widely studied bug types, for which we
construct new datasets carefully designed to capture the real bug distribution.
The results demonstrate that our approach is practically effective and
successfully mitigates the distribution shift: our learned detectors are highly
performant on both our constructed test set and the latest version of open
source repositories.
- Abstract(参考訳): ディープラーニングは最近、バグ検出などのプログラム分析タスクで最初の成功を達成している。
実際のバグを欠いた既存の作業の多くは、正しいプログラムに合成バグを注入してトレーニングとテストデータを構築している。
高いテスト精度(例:90%)を達成したにもかかわらず、結果として生じるバグ検出装置は、実際のソフトウェアリポジトリをスキャンするのに使用する場合、実際には驚くほど使用不可能であることが判明した。
本研究では,この大規模な性能差は,実際のバグ分布と,検出器の訓練および評価に使用される合成バグ分布との根本的なミスマッチによるものである,と論じる。
この課題に対処するために,我々はまず,バグ検出領域にモデルを適応させるための合成バグ分布と,実際のバグ分布にモデルを適応させるための実際のバグ分布という,2つのフェーズでバグ検出を訓練することを提案する。
これら2つのフェーズにおいて、マルチタスク階層、焦点損失、コントラスト学習を活用してパフォーマンスをさらに向上する。
我々は,本手法を広範に研究した3種類のバグタイプに対して評価し,実際のバグ分布を捉えるために慎重に設計された新しいデータセットを構築した。
私たちの学習した検出器は、構築したテストセットと最新バージョンのオープンソースリポジトリの両方で非常に高性能です。
関連論文リスト
- 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) - ADPTriage: Approximate Dynamic Programming for Bug Triage [0.0]
オンラインバグトリアージタスクのためのマルコフ決定プロセス(MDP)モデルを開発した。
私たちはADPTriageと呼ばれるADPベースのバグトリアージソリューションを提供しています。
以上の結果から, 代入精度と固定時間の観点から, ミオピックアプローチよりも有意な改善が見られた。
論文 参考訳(メタデータ) (2022-11-02T04:42:21Z) - Infrared: A Meta Bug Detector [10.541969253100815]
我々はメタバグ検出と呼ばれる新しいアプローチを提案し、既存の学習ベースのバグ検出よりも3つの重要な利点を提供している。
我々のメタバグ検出装置(MBD)は,ヌルポインタの参照,配列インデックスのアウト・オブ・バウンド,ファイルハンドルのリーク,さらには並列プログラムにおけるデータ競合など,さまざまなバグの発見に有効であることを示す。
論文 参考訳(メタデータ) (2022-09-18T09:08:51Z) - Fake It Till You Make It: Near-Distribution Novelty Detection by
Score-Based Generative Models [54.182955830194445]
既存のモデルは、いわゆる"近く分布"設定で失敗するか、劇的な低下に直面します。
本稿では, スコアに基づく生成モデルを用いて, 合成近分布異常データを生成することを提案する。
本手法は,9つのノベルティ検出ベンチマークにおいて,近分布ノベルティ検出を6%改善し,最先端のノベルティ検出を1%から5%パスする。
論文 参考訳(メタデータ) (2022-05-28T02:02:53Z) - DapStep: Deep Assignee Prediction for Stack Trace Error rePresentation [61.99379022383108]
本稿では,バグトリアージ問題を解決するための新しいディープラーニングモデルを提案する。
モデルは、注目された双方向のリカレントニューラルネットワークと畳み込みニューラルネットワークに基づいている。
ランキングの質を向上させるために,バージョン管理システムのアノテーションから追加情報を利用することを提案する。
論文 参考訳(メタデータ) (2022-01-14T00:16:57Z) - Leveraging Unlabeled Data to Predict Out-of-Distribution Performance [63.740181251997306]
実世界の機械学習デプロイメントは、ソース(トレーニング)とターゲット(テスト)ディストリビューションのミスマッチによって特徴づけられる。
本研究では,ラベル付きソースデータとラベルなしターゲットデータのみを用いて,対象領域の精度を予測する手法を検討する。
本稿では,モデルの信頼度をしきい値として学習し,精度をラベルなし例のごく一部として予測する実践的手法である平均閾値保持信頼度(ATC)を提案する。
論文 参考訳(メタデータ) (2022-01-11T23:01:12Z) - Tracking the risk of a deployed model and detecting harmful distribution
shifts [105.27463615756733]
実際には、デプロイされたモデルのパフォーマンスが大幅に低下しないという、良心的なシフトを無視することは理にかなっている。
我々は,警告を発射する有効な方法は,(a)良性な警告を無視しながら有害なシフトを検知し,(b)誤報率を増大させることなく,モデル性能の連続的なモニタリングを可能にすることを論じる。
論文 参考訳(メタデータ) (2021-10-12T17:21:41Z) - Predicting with Confidence on Unseen Distributions [90.68414180153897]
ドメイン適応と予測不確実性文学を結びつけて、挑戦的な未知分布のモデル精度を予測する。
分類器の予測における信頼度(DoC)の差は,様々な変化に対して,分類器の性能変化を推定することに成功した。
具体的には, 合成分布と自然分布の区別について検討し, その単純さにもかかわらず, DoCは分布差の定量化に優れることを示した。
論文 参考訳(メタデータ) (2021-07-07T15:50:18Z) - Learning Stable Classifiers by Transferring Unstable Features [59.06169363181417]
本研究では,素早い相関関係の存在下での伝達学習について検討する。
提案手法は, ソースタスクで学習した安定な特徴抽出器を直接転送しても, 対象タスクのバイアスを排除できないことを実験的に実証する。
我々は、ソースタスクの不安定な特徴とターゲットタスクの不安定な特徴が直接関連していると仮定する。
論文 参考訳(メタデータ) (2021-06-15T02:41:12Z) - Self-Supervised Bug Detection and Repair [27.46717890823656]
本稿では,バグ検出と修復の自己教師型学習手法であるBugLabを紹介する。
BugLabのPython実装では、2374の実際のバグのテストデータセットのベースラインメソッドで最大30%改善されている。
論文 参考訳(メタデータ) (2021-05-26T18:41:05Z) - Generating Bug-Fixes Using Pretrained Transformers [11.012132897417592]
実世界のgithubからマイニングしたjavaメソッドのバグの検出と修正を学ぶ,データ駆動型プログラム修復手法を導入する。
ソースコードプログラムの事前トレーニングは,スクラッチからの教師ありトレーニングに比べて,33%のパッチ数を改善することを示す。
我々は,標準精度評価基準を非削除および削除のみの修正に洗練し,我々の最良モデルが従来よりも75%多くの非削除修正を生成することを示す。
論文 参考訳(メタデータ) (2021-04-16T05:27:04Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。