論文の概要: Boosting Redundancy-based Automated Program Repair by Fine-grained Pattern Mining
- arxiv url: http://arxiv.org/abs/2312.15955v3
- Date: Tue, 26 Aug 2025 02:09:00 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-08-27 13:17:03.980753
- Title: Boosting Redundancy-based Automated Program Repair by Fine-grained Pattern Mining
- Title(参考訳): 微細パターンマイニングによる冗長性に基づく自動プログラム修復
- Authors: Jiajun Jiang, Fengjie Li, Zijie Zhao, Zhirui Ye, Mengjiao Liu, Bo Wang, Hongyu Zhang, Junjie Chen,
- Abstract要約: 本稿では,効果的なパッチ生成を導くための2段階のパターンマイニングプロセスを含むRepattという新しい修復手法を提案する。
我々は、広く使われているDefects4Jベンチマークの実験を行い、Repattを10の最先端のAPRアプローチと比較した。
- 参考スコア(独自算出の注目度): 18.7107522872479
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Redundancy-based automated program repair (APR), which generates patches by referencing existing source code, has gained much attention since they are effective in repairing real-world bugs with good interpretability. However, since existing approaches either demand the existence of multi-line similar code or randomly reference existing code, they can only repair a small number of bugs with many incorrect patches, hindering their wide application in practice. In this work, we aim to improve the effectiveness of redundancy-based APRs by exploring more effective source code reuse methods for improving the number of correct patches and reducing incorrect patches. Specifically, we have proposed a new repair technique named Repatt, which incorporates a two-level pattern mining process for guiding effective patch generation (i.e., token and expression levels). We have conducted an extensive experiment on the widely-used Defects4J benchmark and compared Repatt with ten state-of-the-art APR approaches. The results show that it complements existing approaches by repairing 9 unique bugs compared with the latest Large Language Model (LLM)-based and deep learning-based methods and 19 unique bugs compared with traditional repair methods when providing the perfect fault localization. In addition, when the perfect fault localization is unknown in real practice, Repatt significantly outperforms the baseline approaches by achieving much higher patch precision, i.e., 83.8\%, although it repairs fewer bugs. Moreover, we further proposed an effective patch ranking strategy for combining the strength of Repatt and the baseline methods. The result shows that it repairs 124 bugs when only considering the Top-1 patches and improves the best-performing repair method by repairing 39 more bugs. The results demonstrate the effectiveness of our approach for practical use.
- Abstract(参考訳): 冗長性に基づく自動プログラム修復(APR)は、既存のソースコードを参照することでパッチを生成する。
しかし、既存のアプローチでは、複数行の類似コードの存在を要求するか、あるいは無作為に既存のコードを参照する必要があるため、多くの不正確なパッチで少数のバグを修正するだけで、実際には広範囲のアプリケーションを妨げている。
本研究では, 冗長性に基づくAPRの有効性を向上させることを目的として, 正確なパッチ数を改善するために, より効率的なソースコード再利用手法を探索し, 不正パッチを減らすことを目的とする。
具体的には、効果的なパッチ生成(トークンと表現レベル)を導くための2レベルパターンマイニングプロセスを含むRepattという新しい修復手法を提案する。
我々は、広く使われているDefects4Jベンチマークについて広範な実験を行い、Repattを最先端の10のAPRアプローチと比較した。
その結果,最新のLarge Language Model (LLM) ベースおよびディープラーニングベースの手法と比較して,9つのユニークなバグを修復し,19のユニークなバグを補うことができた。
さらに、完全なフォールトローカライゼーションが実際に行われている場合、Repattは、より高いパッチ精度、すなわち83.8\%を達成することで、ベースラインアプローチを著しく上回っている。
さらに,Repattの強度とベースライン法を組み合わせるための効果的なパッチランキング戦略を提案する。
その結果、Top-1パッチのみを考慮すると124のバグを修復し、39のバグを修復することで最も優れた修復方法を改善した。
その結果,本手法の有効性が実証された。
関連論文リスト
- RePaCA: Leveraging Reasoning Large Language Models for Static Automated Patch Correctness Assessment [0.0]
本稿では,Large Language Models (LLM) を利用した新しい静的APCA手法であるRePaCAを紹介する。
提案手法は,83.1%の精度と84.8%のF1スコアで最先端の性能を実現する。
論文 参考訳(メタデータ) (2025-07-30T11:21:09Z) - The Art of Repair: Optimizing Iterative Program Repair with Instruction-Tuned Models [48.073219761367184]
複数出力の生成と複数ラウンドの反復のバランスをとるAPRパイプラインについて検討する。
3つのサイズ(1K, 30K, 65K)と2つのテクニック(フルファインチューニングとLoRA)を持つAPRデータセット上で各モデルを微調整する。
その結果,微調整データセットのごく一部(1%)しか使用せず,最大78%の改善が達成できた。
論文 参考訳(メタデータ) (2025-05-05T18:06:51Z) - Parameter-Efficient Fine-Tuning with Attributed Patch Semantic Graph for Automated Patch Correctness Assessment [8.028183762381474]
自動プログラム修復(APR)は、人間の介入なしにプログラムエラーを自動的に修復することを目的としている。
多くの研究がAPCA(Automatic patch correctness Assessment)に費やされている。
論文 参考訳(メタデータ) (2025-05-05T13:15:53Z) - Less is More: Adaptive Program Repair with Bug Localization and Preference Learning [9.639104286650845]
整合性を維持しつつプログラムの修復性を高めるための2段階の手法を提案する。
第1段階では、自己認識学習を備えたバグロケータを用いて、バグ位置を正確に特定する。
第2段階では、修正後の固定コードと修正前のバグギーコードとの一貫性を確保するためにプログラムをトレーニングします。
論文 参考訳(メタデータ) (2025-03-09T08:32:38Z) - FastFixer: An Efficient and Effective Approach for Repairing Programming Assignments [21.848112758958543]
本稿では,FastFixerを提案する。
まず,必要なパッチと関連するコンテキストを生成する方法を学ぶことへのLLMの関心を高めることを目的とした,修復指向のファインチューニング戦略を提案する。
修復効率を考慮すると、FastFixerは自動回帰復号アルゴリズムと比較して16.67倍の高速化を実現している。
論文 参考訳(メタデータ) (2024-10-11T10:17:02Z) - Improving LLM Reasoning through Scaling Inference Computation with Collaborative Verification [52.095460362197336]
大規模言語モデル(LLM)は一貫性と正確な推論に苦しむ。
LLMは、主に正しいソリューションに基づいて訓練され、エラーを検出して学習する能力を減らす。
本稿では,CoT(Chain-of-Thought)とPoT(Program-of-Thought)を組み合わせた新しい協調手法を提案する。
論文 参考訳(メタデータ) (2024-10-05T05:21:48Z) - On The Effectiveness of Dynamic Reduction Techniques in Automated Program Repair [1.7767466724342067]
本稿では,大規模バグ修正プログラムを効果的に処理するプログラム修復フレームワークについて述べる。
このフレームワークは、プログラムスライシングの形式でプログラムの削減を利用して、修正中のバグとは無関係にコードの一部を除去する。
広く使用されているDefects4Jデータセットに対する実験結果から,修復品質の劣化を伴わずに,大幅な性能向上が達成できることが判明した。
論文 参考訳(メタデータ) (2024-06-23T21:35:07Z) - Investigating the Transferability of Code Repair for Low-Resource Programming Languages [57.62712191540067]
大規模言語モデル(LLM)は、コード生成タスクにおいて顕著なパフォーマンスを示している。
近年の作業は、連鎖推論や蒸留といった現代的な技術を統合することで、コード修復のプロセスを強化している。
高低資源言語と低低資源言語の両方でコード修復を蒸留する利点について検討する。
論文 参考訳(メタデータ) (2024-06-21T05:05:39Z) - Hybrid Automated Program Repair by Combining Large Language Models and Program Analysis [12.7034916462208]
自動プログラム修復(APR)は、人間の開発者のバグ修正プロセスを合理化する可能性から、大きな注目を集めている。
本稿ではGIANTREPAIRと呼ばれる革新的なAPR手法を紹介する。
この知見に基づいて、GIANTREPAIRはまず、LLM生成したパッチからパッチスケルトンを構築して、パッチ空間を閉じ込め、その後、特定のプログラムに適した高品質なパッチを生成する。
論文 参考訳(メタデータ) (2024-06-03T05:05:12Z) - Optimal Baseline Corrections for Off-Policy Contextual Bandits [61.740094604552475]
オンライン報酬指標の偏りのないオフライン推定を最適化する意思決定ポリシーを学習することを目指している。
学習シナリオにおける同値性に基づく単一のフレームワークを提案する。
我々のフレームワークは、分散最適非バイアス推定器の特徴付けを可能にし、それに対する閉形式解を提供する。
論文 参考訳(メタデータ) (2024-05-09T12:52:22Z) - 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) - ITER: Iterative Neural Repair for Multi-Location Patches [9.95078657941232]
本稿では,ITERと呼ばれる反復的なプログラム修復パラダイムを提案する。
ITERはコンパイルエラーを修正し、以前に生成されたコードをさらに精査することで、部分的な単一ロケーションパッチを反復的に改善する。
ITERは、バトルによって実現されたディープニューラルネットワークとコード表現に基づいて、Java向けに実装されている。
論文 参考訳(メタデータ) (2023-04-24T11:32:02Z) - Efficient Few-Shot Object Detection via Knowledge Inheritance [62.36414544915032]
Few-shot Object Detection (FSOD) は、未確認のタスクに少ないトレーニングサンプルで適応できるジェネリック検出器を学習することを目的としている。
計算量の増加を伴わない効率的なプレトレイン・トランスファー・フレームワーク(PTF)のベースラインを提案する。
また,予測された新しいウェイトと事前訓練されたベースウェイトとのベクトル長の不整合を軽減するために,適応長再スケーリング(ALR)戦略を提案する。
論文 参考訳(メタデータ) (2022-03-23T06:24:31Z) - Adversarial Patch Generation for Automated Program Repair [0.0]
NEVERMOREは、バグと修正の敵対的な性質にインスパイアされた、新しい学習ベースのメカニズムである。
NEVERMOREはGenerative Adrial Networksアーキテクチャに基づいて構築されており、人為的な修正を忠実に模倣する修正を生成するために、歴史的なバグ修正を訓練している。
実世界の500のバグに対する実証的な評価は、NEVERMOREがバグ修正に有効であることを示し、調査対象のバグの21.2%が人間の修正にマッチする修復を生成する。
論文 参考訳(メタデータ) (2020-12-21T00:34:29Z) - Structured and Localized Image Restoration [141.75042935077465]
本稿では,局所的構造予測と非線形マルチタスク学習のアイデアを活用した画像復元手法を提案する。
平均二乗およびユークリッド標準誤差に基づいて対応するエネルギーのアルゴリズムを導出する。
論文 参考訳(メタデータ) (2020-06-16T15:43:12Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。