論文の概要: Less is More: Adaptive Program Repair with Bug Localization and Preference Learning
- arxiv url: http://arxiv.org/abs/2503.06510v1
- Date: Sun, 09 Mar 2025 08:32:38 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-03-11 15:53:13.055236
- Title: Less is More: Adaptive Program Repair with Bug Localization and Preference Learning
- Title(参考訳): バグのローカライゼーションと推論学習による適応型プログラム修復
- Authors: Zhenlong Dai, Bingrui Chen, Zhuoluo Zhao, Xiu Tang, Sai Wu, Chang Yao, Zhipeng Gao, Jingyuan Chen,
- Abstract要約: 整合性を維持しつつプログラムの修復性を高めるための2段階の手法を提案する。
第1段階では、自己認識学習を備えたバグロケータを用いて、バグ位置を正確に特定する。
第2段階では、修正後の固定コードと修正前のバグギーコードとの一貫性を確保するためにプログラムをトレーニングします。
- 参考スコア(独自算出の注目度): 9.639104286650845
- License:
- Abstract: Automated Program Repair (APR) is a task to automatically generate patches for the buggy code. However, most research focuses on generating correct patches while ignoring the consistency between the fixed code and the original buggy code. How to conduct adaptive bug fixing and generate patches with minimal modifications have seldom been investigated. To bridge this gap, we first introduce a novel task, namely AdaPR (Adaptive Program Repair). We then propose a two-stage approach AdaPatcher (Adaptive Patch Generator) to enhance program repair while maintaining the consistency. In the first stage, we utilize a Bug Locator with self-debug learning to accurately pinpoint bug locations. In the second stage, we train a Program Modifier to ensure consistency between the post-modified fixed code and the pre-modified buggy code. The Program Modifier is enhanced with a location-aware repair learning strategy to generate patches based on identified buggy lines, a hybrid training strategy for selective reference and an adaptive preference learning to prioritize fewer changes. The experimental results show that our approach outperforms a set of baselines by a large margin, validating the effectiveness of our two-stage framework for the newly proposed AdaPR task.
- Abstract(参考訳): 自動プログラム修復(APR)はバグのあるコードのパッチを自動的に生成するタスクである。
しかし、ほとんどの研究は、固定されたコードと元のバグのあるコードとの一貫性を無視しながら、正しいパッチを生成することに重点を置いている。
適応的なバグ修正を行い、最小限の修正でパッチを生成する方法は、ほとんど研究されていない。
このギャップを埋めるために、まずAdaPR(Adaptive Program repair)という新しいタスクを導入します。
次に,AdaPatcher (Adaptive Patch Generator) という2段階のアプローチを提案する。
最初の段階では、自己デバッグ学習を備えたバグロケータを使用して、バグ位置を正確に特定する。
第2段階では、修正後の固定コードと修正前のバグコードとの一貫性を確保するために、プログラム修正子を訓練します。
プログラム修正者は、特定されたバギーラインに基づいてパッチを生成する位置対応の修復学習戦略、選択参照のためのハイブリッドトレーニング戦略、より少ない変更を優先する適応優先学習により強化される。
実験の結果,本手法は,AdaPRタスクの2段階フレームワークの有効性を検証し,一組のベースラインを大きなマージンで上回ることを示した。
関連論文リスト
- LLMs as Continuous Learners: Improving the Reproduction of Defective Code in Software Issues [62.12404317786005]
EvoCoderは、イシューコード再現のための継続的学習フレームワークである。
その結果,既存のSOTA法よりも20%改善した。
論文 参考訳(メタデータ) (2024-11-21T08:49:23Z) - Adaptive Retention & Correction: Test-Time Training for Continual Learning [114.5656325514408]
連続学習における一般的な問題は、最新のタスクに対する分類層のバイアスである。
アダプティブ・リテンション・アンド・コレクション (ARC) のアプローチを例に挙げる。
ARCはCIFAR-100とImagenet-Rのデータセットで平均2.7%と2.6%のパフォーマンス向上を達成した。
論文 参考訳(メタデータ) (2024-05-23T08:43:09Z) - A Deep Dive into Large Language Models for Automated Bug Localization and Repair [12.756202755547024]
大規模言語モデル(LLM)は、自動プログラム修復(APR)など、様々なソフトウェアエンジニアリングタスクにおいて顕著な効果を示している。
本研究では,LSMを用いた自動バグ修正について深く検討する。
異なるLLMを用いてバグの局所化と修正を分離することにより、多様なコンテキスト情報の効果的な統合が可能になる。
Toggleは、CodeXGLUEコード改善ベンチマークで、新しい最先端(SOTA)パフォーマンスを実現する。
論文 参考訳(メタデータ) (2024-04-17T17:48:18Z) - Online Feature Updates Improve Online (Generalized) Label Shift Adaptation [51.328801874640675]
オンライン特徴更新を用いたオンラインラベルシフト適応法(OLS-OFU)は,自己教師付き学習を利用して特徴抽出プロセスを洗練する。
アルゴリズムを慎重に設計することで、OLS-OFUは改善された特徴を考慮しつつ、文献の結果に類似したオンライン後悔の収束を維持している。
論文 参考訳(メタデータ) (2024-02-05T22:03:25Z) - Enhancing Redundancy-based Automated Program Repair by Fine-grained
Pattern Mining [18.3896381051331]
本稿では,効果的なパッチ生成を導くための2段階のパターンマイニングプロセスを含むRepattという新しい修復手法を提案する。
我々は広く使われているDefects4Jベンチマークの実験を行い、Repattを8つの最先端のAPRアプローチと比較した。
論文 参考訳(メタデータ) (2023-12-26T08:42: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) - Neural Program Repair with Program Dependence Analysis and Effective
Filter Mechanism [37.70518599085677]
単行Javaバグを修正するために、一般的な事前学習言語モデルに適応する、アプローチと呼ばれる新しいニューラルプログラム修復フレームワークを提案する。
我々は,プログラムスライシングを用いて,与えられたバギー文に直接関連した文脈情報を,対応するプログラム依存グラフから補修材料として抽出する試みを行う。
最先端のベースラインと比較して,5つのベンチマークに対するアプローチの有効性を示す。
論文 参考訳(メタデータ) (2023-05-16T09:43:04Z) - Continual Test-Time Domain Adaptation [94.51284735268597]
テスト時ドメイン適応は、ソースデータを使用しずに、ソース事前訓練されたモデルをターゲットドメインに適応することを目的としている。
CoTTAは実装が容易で、市販の事前訓練モデルに簡単に組み込むことができる。
論文 参考訳(メタデータ) (2022-03-25T11:42:02Z) - Generating Bug-Fixes Using Pretrained Transformers [11.012132897417592]
実世界のgithubからマイニングしたjavaメソッドのバグの検出と修正を学ぶ,データ駆動型プログラム修復手法を導入する。
ソースコードプログラムの事前トレーニングは,スクラッチからの教師ありトレーニングに比べて,33%のパッチ数を改善することを示す。
我々は,標準精度評価基準を非削除および削除のみの修正に洗練し,我々の最良モデルが従来よりも75%多くの非削除修正を生成することを示す。
論文 参考訳(メタデータ) (2021-04-16T05:27:04Z) - Meta-Learning with Adaptive Hyperparameters [55.182841228303225]
我々は、MAMLフレームワークの補完的要素、インナーループ最適化(あるいは高速適応)に焦点を当てる。
高速適応プロセスを大幅に向上させる新しい重み更新ルールを提案する。
論文 参考訳(メタデータ) (2020-10-31T08:05:34Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。