論文の概要: Test-based Patch Clustering for Automatically-Generated Patches Assessment
- arxiv url: http://arxiv.org/abs/2207.11082v2
- Date: Tue, 27 Aug 2024 14:46:51 GMT
- ステータス: 処理完了
- システム内更新日: 2024-08-28 20:28:28.279179
- Title: Test-based Patch Clustering for Automatically-Generated Patches Assessment
- Title(参考訳): 自動パッチ評価のためのテストベースパッチクラスタリング
- Authors: Matias Martinez, Maria Kechagia, Anjana Perera, Justyna Petke, Federica Sarro, Aldeida Aleti,
- Abstract要約: オーバーフィッティングは、パッチが実行され、テストスイートがエラーを露呈しない場合に発生するが、パッチは、実際に基盤となるバグを修正したり、テストスイートがカバーしていない新しい欠陥を導入したりする。
私たちの研究は、プログラマがレビューしなければならない妥当なパッチの数を最小限に抑え、正しいパッチを見つけるのに必要な時間を短縮することを目的としています。
我々は、xTestClusterと呼ばれる新しい軽量なテストベースのパッチクラスタリング手法を導入し、その動的挙動に基づいてパッチをクラスタリングする。
- 参考スコア(独自算出の注目度): 21.051652050359852
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Previous studies have shown that Automated Program Repair (APR) techniques suffer from the overfitting problem. Overfitting happens when a patch is run and the test suite does not reveal any error, but the patch actually does not fix the underlying bug or it introduces a new defect that is not covered by the test suite. Therefore, the patches generated by apr tools need to be validated by human programmers, which can be very costly, and prevents apr tool adoption in practice. Our work aims to minimize the number of plausible patches that programmers have to review, thereby reducing the time required to find a correct patch. We introduce a novel light-weight test-based patch clustering approach called xTestCluster, which clusters patches based on their dynamic behavior. xTestCluster is applied after the patch generation phase in order to analyze the generated patches from one or more repair tools and to provide more information about those patches for facilitating patch assessment. The novelty of xTestCluster lies in using information from execution of newly generated test cases to cluster patches generated by multiple APR approaches. A cluster is formed of patches that fail on the same generated test cases. The output from xTestCluster gives developers a) a way of reducing the number of patches to analyze, as they can focus on analyzing a sample of patches from each cluster, b) additional information attached to each patch. After analyzing 902 plausible patches from 21 Java APR tools, our results show that xTestCluster is able to reduce the number of patches to review and analyze with a median of 50%. xTestCluster can save a significant amount of time for developers that have to review the multitude of patches generated by apr tools, and provides them with new test cases that expose the differences in behavior between generated patches.
- Abstract(参考訳): これまでの研究では、APR(Automated Program repair)技術がオーバーフィッティングの問題に悩まされていることが示されている。
オーバーフィッティングは、パッチが実行され、テストスイートがエラーを露呈しない場合に発生するが、パッチは、実際に基盤となるバグを修正したり、テストスイートがカバーしていない新しい欠陥を導入したりする。
したがって、aprツールによって生成されたパッチは人間プログラマによって検証される必要があり、これは非常にコストがかかり、実際にaprツールが採用されるのを防ぐことができる。
私たちの研究は、プログラマがレビューしなければならない妥当なパッチの数を最小限に抑え、正しいパッチを見つけるのに必要な時間を短縮することを目的としています。
我々は、xTestClusterと呼ばれる新しい軽量なテストベースのパッチクラスタリング手法を導入し、その動的挙動に基づいてパッチをクラスタリングする。
xTestClusterは、パッチ生成フェーズ後に適用され、1つ以上の修復ツールから生成されたパッチを分析し、パッチアセスメントを容易にするためにこれらのパッチに関する情報を提供する。
xTestClusterの新規性は、新しく生成されたテストケースの実行から、複数のAPRアプローチによって生成されたクラスタパッチまでの情報を使用することにある。
クラスタは、同じ生成されたテストケースで失敗するパッチで構成されています。
xTestClusterのアウトプットが開発者に提供する
a) 各クラスタからのパッチのサンプルを分析することに集中して、分析するパッチの数を減らす方法。
b) 各パッチに添付する追加情報
21のJava APRツールから902の可視パッチを分析した結果、xTestClusterは、レビューや分析を行うパッチの数を50%の中央値で削減できることがわかった。
xTestClusterは、aprツールによって生成される多数のパッチをレビューする必要のある開発者にとってかなりの時間を節約し、生成されたパッチ間の振る舞いの違いを明らかにする新しいテストケースを提供する。
関連論文リスト
- STAMP: Outlier-Aware Test-Time Adaptation with Stable Memory Replay [76.06127233986663]
テスト時間適応(TTA)は、トレーニングデータとテストデータの間の分散シフトに、未ラベルのデータのみを用いて対処することを目的としている。
本稿では,サンプル認識とオフリエ拒絶の両方を行う問題に注意を払っている。
本稿では,STAble Memory rePlay (STAMP) と呼ばれる新しい手法を提案する。
論文 参考訳(メタデータ) (2024-07-22T16:25:41Z) - Align Your Prompts: Test-Time Prompting with Distribution Alignment for
Zero-Shot Generalization [64.62570402941387]
テスト領域のギャップを埋めるために、機能分散シフトを最小限にして、テスト時にマルチモーダルプロンプトを適用するために、単一のテストサンプルを使用します。
提案手法は,既存のプロンプト学習技術以上のゼロショットトップ1精度を向上し,ベースラインのMaPLeよりも3.08%向上した。
論文 参考訳(メタデータ) (2023-11-02T17:59:32Z) - 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) - Patch Space Exploration using Static Analysis Feedback [8.13782364161157]
静的解析を利用して、メモリの安全性問題を自動的に修復する方法を示す。
提案したアプローチは、バグを修正するためのパッチの近さを検査することで、望ましいパッチが何であるかを学習する。
我々は,印字ヒープに対する影響に応じて等価パッチのクラスを作成し,そのクラスのパッチ等価度に対してのみ検証オラクルを呼び出すことにより,修復をスケーラブルにする。
論文 参考訳(メタデータ) (2023-08-01T05:22:10Z) - Patch-aware Batch Normalization for Improving Cross-domain Robustness [55.06956781674986]
クロスドメインタスクは、トレーニングセットとテストセットが異なるディストリビューションに従うと、モデルのパフォーマンスが低下する課題を示す。
パッチ対応バッチ正規化(PBN)と呼ばれる新しい手法を提案する。
画像の局所的なパッチの違いを利用して、提案したPBNはモデルパラメータの堅牢性を効果的に向上させることができる。
論文 参考訳(メタデータ) (2023-04-06T03:25:42Z) - Keep the Conversation Going: Fixing 162 out of 337 bugs for $0.42 each
using ChatGPT [10.071615423169902]
自動プログラム修復(APR)は、バグギープログラムのパッチを自動的に生成することを目的としている。
最近のAPRの研究は、最新のLarge Language Models(LLM)を活用して、APRのパッチを直接生成することに重点を置いている。
最初に完全に自動化された会話駆動型APRアプローチであるChatRepairを提案する。
論文 参考訳(メタデータ) (2023-04-01T20:57:33Z) - PatchZero: Zero-Shot Automatic Patch Correctness Assessment [13.19425284402493]
コードに大規模言語モデルを適用することにより,パッチの正当性評価を行うツールネームを提案する。
ツールネームは、新しいAPRツールによって生成されたものとセマンティックな類似性を示す既存のAPRツールからラベル付きパッチを優先する。
実験の結果,ツールネームの精度は84.4%,F1スコアは86.5%であった。
論文 参考訳(メタデータ) (2023-03-01T03:12:11Z) - 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) - Exploring Plausible Patches Using Source Code Embeddings in JavaScript [1.3327130030147563]
オープンソースJavaScriptプロジェクトでDoc2Vecモデルをトレーニングし、10のバグに対して465のパッチを生成しました。
これらの正当なパッチと開発者修正は、元のプログラムとの類似性に基づいてランク付けされる。
これらの類似性リストを分析し、プレーンな文書埋め込みが誤分類につながる可能性があることを発見した。
論文 参考訳(メタデータ) (2021-03-31T06:57:10Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。