論文の概要: Patch Space Exploration using Static Analysis Feedback
- arxiv url: http://arxiv.org/abs/2308.00294v1
- Date: Tue, 1 Aug 2023 05:22:10 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-23 15:40:52.739548
- Title: Patch Space Exploration using Static Analysis Feedback
- Title(参考訳): 静的解析フィードバックを用いたパッチ空間探索
- Authors: Yuntong Zhang, Andreea Costea, Ridwan Shariffdeen, Davin McCall, Abhik
Roychoudhury
- Abstract要約: 静的解析を利用して、メモリの安全性問題を自動的に修復する方法を示す。
提案したアプローチは、バグを修正するためのパッチの近さを検査することで、望ましいパッチが何であるかを学習する。
我々は,印字ヒープに対する影響に応じて等価パッチのクラスを作成し,そのクラスのパッチ等価度に対してのみ検証オラクルを呼び出すことにより,修復をスケーラブルにする。
- 参考スコア(独自算出の注目度): 8.13782364161157
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Automated Program Repair (APR) techniques typically rely on a given
test-suite to guide the repair process. Apart from the need to provide test
oracles, this makes the produced patches prone to test data over-fitting. In
this work, instead of relying on test cases, we show how to automatically
repair memory safety issues, by leveraging static analysis (specifically
Incorrectness Separation Logic) to guide repair. Our proposed approach learns
what a desirable patch is by inspecting how close a patch is to fixing the bug
based on the feedback from incorrectness separation logic based static analysis
(specifically the Pulse analyser), and turning this information into a
distribution of probabilities over context free grammars. Furthermore, instead
of focusing on heuristics for reducing the search space of patches, we make
repair scalable by creating classes of equivalent patches according to the
effect they have on the symbolic heap, and then invoking the validation oracle
only once per class of patch equivalence. This allows us to efficiently
discover repairs even in the presence of a large pool of patch candidates
offered by our generic patch synthesis mechanism. Experimental evaluation of
our approach was conducted by repairing real world memory errors in OpenSSL,
swoole and other subjects. The evaluation results show the scalability and
efficacy of our approach in automatically producing high quality patches.
- Abstract(参考訳): 自動プログラム修復(APR)技術は典型的には、修理プロセスのガイドに与えられたテストスーツに依存します。
テストのオーラクルを提供する必要は別として、生成されたパッチはデータの過度な適合をテストしがちである。
本研究では、テストケースに頼る代わりに、静的解析(特に不正確な分離論理)を利用して、メモリ安全性の問題を自動的に修復する方法を示す。
提案手法は,不正確な分離論理に基づく静的解析(特にパルス解析器)からのフィードバックに基づいて,パッチがバグの修正にどの程度近いかを調べ,その情報を文脈自由文法上の確率分布に変換することによって,望ましいパッチを学習する。
さらに,パッチの探索空間を縮小するヒューリスティックスに焦点をあてる代わりに,シンボルヒープへの影響に応じて等価なパッチのクラスを作成し,そのクラスごとのパッチ等価性に対してのみ検証オラクルを呼び出すことにより,修復をスケーラブルにする。
これにより、汎用的なパッチ合成機構によって提供される大量のパッチ候補が存在する場合でも、効率よく修復を発見できる。
提案手法の実験的評価は,OpenSSL や Swoole などの実世界のメモリエラーを修復することで行った。
評価結果は,高品質パッチを自動的に生成する手法のスケーラビリティと有効性を示す。
関連論文リスト
- STAMP: Outlier-Aware Test-Time Adaptation with Stable Memory Replay [76.06127233986663]
テスト時間適応(TTA)は、トレーニングデータとテストデータの間の分散シフトに、未ラベルのデータのみを用いて対処することを目的としている。
本稿では,サンプル認識とオフリエ拒絶の両方を行う問題に注意を払っている。
本稿では,STAble Memory rePlay (STAMP) と呼ばれる新しい手法を提案する。
論文 参考訳(メタデータ) (2024-07-22T16:25:41Z) - A Case Study of LLM for Automated Vulnerability Repair: Assessing Impact of Reasoning and Patch Validation Feedback [7.742213291781287]
提案するVRpilotは,推論とパッチ検証フィードバックに基づく脆弱性修復手法である。
以上の結果から,VRpilotはCとJavaのベースライン技術よりも平均14%と7.6%の正確なパッチを生成することがわかった。
論文 参考訳(メタデータ) (2024-05-24T16:29:48Z) - SKU-Patch: Towards Efficient Instance Segmentation for Unseen Objects in
Auto-Store [102.45729472142526]
大規模な倉庫では、精密なケースマスクがロボットのビンピッキングに欠かせない。
本稿では,新たなSKUに対して,いくつかのイメージパッチのみを活用するパッチ誘導型インスタンスセグメンテーションソリューションを提案する。
SKU-Patchは、ロボット支援自動ストアロジスティックパイプラインにおいて、50以上の見えないSKUに対して、平均して100%近い成功率を得る。
論文 参考訳(メタデータ) (2023-11-08T12:44:38Z) - 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) - Accelerating Patch Validation for Program Repair with Interception-Based
Execution Scheduling [15.592392495402809]
そこで本研究では,既存の突然変異検査手法を検証し,汎用パッチ検証に適した5種類の加速手法を同定する。
本稿では,オンラインのパッチ間の等価性を検出する実行スケジューリングと,システム状態へのパッチ変更を遮断するインターセプションベースのインスツルメンテーションの2つの新しい手法を提案する。
4つのAPRアプローチによる大規模評価では、ExpressAPRは、プレーンバリデーションの137.1倍、最先端の8.8倍のパッチ検証を高速化する。
論文 参考訳(メタデータ) (2023-05-06T06:45:25Z) - Patch-aware Batch Normalization for Improving Cross-domain Robustness [55.06956781674986]
クロスドメインタスクは、トレーニングセットとテストセットが異なるディストリビューションに従うと、モデルのパフォーマンスが低下する課題を示す。
パッチ対応バッチ正規化(PBN)と呼ばれる新しい手法を提案する。
画像の局所的なパッチの違いを利用して、提案したPBNはモデルパラメータの堅牢性を効果的に向上させることができる。
論文 参考訳(メタデータ) (2023-04-06T03:25:42Z) - PatchZero: Zero-Shot Automatic Patch Correctness Assessment [13.19425284402493]
コードに大規模言語モデルを適用することにより,パッチの正当性評価を行うツールネームを提案する。
ツールネームは、新しいAPRツールによって生成されたものとセマンティックな類似性を示す既存のAPRツールからラベル付きパッチを優先する。
実験の結果,ツールネームの精度は84.4%,F1スコアは86.5%であった。
論文 参考訳(メタデータ) (2023-03-01T03:12:11Z) - Test-based Patch Clustering for Automatically-Generated Patches Assessment [21.051652050359852]
オーバーフィッティングは、パッチが実行され、テストスイートがエラーを露呈しない場合に発生するが、パッチは、実際に基盤となるバグを修正したり、テストスイートがカバーしていない新しい欠陥を導入したりする。
私たちの研究は、プログラマがレビューしなければならない妥当なパッチの数を最小限に抑え、正しいパッチを見つけるのに必要な時間を短縮することを目的としています。
我々は、xTestClusterと呼ばれる新しい軽量なテストベースのパッチクラスタリング手法を導入し、その動的挙動に基づいてパッチをクラスタリングする。
論文 参考訳(メタデータ) (2022-07-22T13:39:27Z) - Segment and Complete: Defending Object Detectors against Adversarial
Patch Attacks with Robust Patch Detection [142.24869736769432]
敵のパッチ攻撃は最先端の物体検出器に深刻な脅威をもたらす。
パッチ攻撃に対して物体検出器を防御するフレームワークであるSegment and Complete Defense (SAC)を提案する。
SACは、物理的パッチ攻撃の標的攻撃成功率を著しく低減できることを示す。
論文 参考訳(メタデータ) (2021-12-08T19:18:48Z) - Checking Patch Behaviour against Test Specification [4.723400023753107]
パッチ動作とテスト仕様のフェールとの関連性について仮説を提案する。
次に、パッチの正当性を予測するための教師なし学習ベースシステムBATSを提案する。
論文 参考訳(メタデータ) (2021-07-28T11:39:06Z) - Rethinking Generative Zero-Shot Learning: An Ensemble Learning
Perspective for Recognising Visual Patches [52.67723703088284]
我々はMPGAN(Multi-patch Generative Adversarial Nets)と呼ばれる新しいフレームワークを提案する。
MPGANは、新しい重み付き投票戦略で、ローカルパッチ機能とラベルが見えないクラスを合成する。
MPGANは最先端の手法よりもはるかに精度が高い。
論文 参考訳(メタデータ) (2020-07-27T05:49:44Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。