論文の概要: Neural Program Repair with Program Dependence Analysis and Effective
Filter Mechanism
- arxiv url: http://arxiv.org/abs/2305.09315v1
- Date: Tue, 16 May 2023 09:43:04 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-24 08:34:07.967495
- Title: Neural Program Repair with Program Dependence Analysis and Effective
Filter Mechanism
- Title(参考訳): プログラム依存解析と有効フィルタ機構を用いたニューラルプログラム修復
- Authors: Yuwei Zhang and Ge Li and Zhi Jin and Ying Xing
- Abstract要約: 単行Javaバグを修正するために、一般的な事前学習言語モデルに適応する、アプローチと呼ばれる新しいニューラルプログラム修復フレームワークを提案する。
我々は,プログラムスライシングを用いて,与えられたバギー文に直接関連した文脈情報を,対応するプログラム依存グラフから補修材料として抽出する試みを行う。
最先端のベースラインと比較して,5つのベンチマークに対するアプローチの有効性を示す。
- 参考スコア(独自算出の注目度): 37.70518599085677
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Automated program repair is a crucial task for improving the efficiency of
software developers. Recently, neural-based techniques have demonstrated
significant promise in generating correct patches for buggy code snippets.
However, most existing approaches arbitrarily treat the buggy context without
any analysis to capture the semantic relationship between the buggy statement
and its context. Additionally, we observe that existing neural models may
output an unaltered patch consistent with the input buggy code snippet, which
fails to be the correct human-written one for fixing the given bug. To address
the aforementioned limitations, we present in this paper a novel neural program
repair framework called \approach, which adapts the general pre-trained
language model for fixing single-line Java bugs. We make the first attempt to
use program slicing to extract contextual information directly related to the
given buggy statement as repair ingredients from the corresponding program
dependence graph and eliminate unaltered patches using an intuitive but
effective filter mechanism. We demonstrate the effectiveness of \approach on
five benchmarks when compared with state-of-the-art baselines.
- Abstract(参考訳): 自動プログラム修復は、ソフトウェア開発者の効率を改善するための重要なタスクである。
近年、ニューラルネットワーク技術はバグのあるコードスニペットの正しいパッチを生成する上で大きな可能性を証明している。
しかし、既存のほとんどのアプローチは、バギーステートメントとそのコンテキスト間の意味的関係を捉えるために分析することなく、バギーコンテキストを任意に扱う。
さらに、既存のニューラルモデルが、入力バギーコードスニペットに準拠した未修正のパッチを出力する可能性があることを観察する。
上記の制限に対処するため,本稿では,単一行javaバグの修正に一般的な事前学習言語モデルを適用した,新しいニューラルプログラム修復フレームワーク \approach を提案する。
まず,プログラムスライシングを用いて,与えられたバギー文に直接関連した文脈情報を,対応するプログラム依存グラフから補修成分として抽出し,直感的かつ効果的なフィルタ機構を用いて未修正のパッチを除去する。
最先端のベースラインと比較した場合の5つのベンチマークにおける \approach の有効性を示す。
関連論文リスト
- 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) - 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) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Detect-Localize-Repair: A Unified Framework for Learning to Debug with
CodeT5 [14.712753336831172]
本稿では,事前訓練されたプログラミング言語モデルであるCodeT5に基づく,新しい統一型emphDetect-Localize-Repairフレームワークを提案する。
我々のモデルは、NLPとソフトウェア工学の両方の領域から既存のベースラインを著しく上回ります。
論文 参考訳(メタデータ) (2022-11-27T16:11:29Z) - BigIssue: A Realistic Bug Localization Benchmark [89.8240118116093]
BigIssueは、現実的なバグローカライゼーションのためのベンチマークである。
実際のJavaバグと合成Javaバグの多様性を備えた一般的なベンチマークを提供する。
われわれは,バグローカライゼーションの最先端技術として,APRの性能向上と,現代の開発サイクルへの適用性の向上を期待している。
論文 参考訳(メタデータ) (2022-07-21T20:17:53Z) - Software Vulnerability Detection via Deep Learning over Disaggregated
Code Graph Representation [57.92972327649165]
この研究は、コードコーパスから安全でないパターンを自動的に学習するためのディープラーニングアプローチを探求する。
コードには解析を伴うグラフ構造が自然に認められるため,プログラムの意味的文脈と構造的規則性の両方を利用する新しいグラフニューラルネットワーク(GNN)を開発する。
論文 参考訳(メタデータ) (2021-09-07T21:24:36Z) - Generating Bug-Fixes Using Pretrained Transformers [11.012132897417592]
実世界のgithubからマイニングしたjavaメソッドのバグの検出と修正を学ぶ,データ駆動型プログラム修復手法を導入する。
ソースコードプログラムの事前トレーニングは,スクラッチからの教師ありトレーニングに比べて,33%のパッチ数を改善することを示す。
我々は,標準精度評価基準を非削除および削除のみの修正に洗練し,我々の最良モデルが従来よりも75%多くの非削除修正を生成することを示す。
論文 参考訳(メタデータ) (2021-04-16T05:27:04Z) - Bandit Data-Driven Optimization [62.01362535014316]
機械学習パイプラインが設定で有用になるためには、克服しなければならない大きな問題点が4つある。
これらの問題点に対処する最初の反復予測記述フレームワークであるBanditデータ駆動最適化を導入する。
本稿では,このフレームワークの新しいアルゴリズム PROOF を提案する。
論文 参考訳(メタデータ) (2020-08-26T17:50:49Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。