論文の概要: ITER: Iterative Neural Repair for Multi-Location Patches
- arxiv url: http://arxiv.org/abs/2304.12015v2
- Date: Tue, 23 Apr 2024 19:49:42 GMT
- ステータス: 処理完了
- システム内更新日: 2024-04-25 16:34:44.617081
- Title: ITER: Iterative Neural Repair for Multi-Location Patches
- Title(参考訳): ITER:マルチロケーションパッチの反復神経修復
- Authors: He Ye, Martin Monperrus,
- Abstract要約: 本稿では,ITERと呼ばれる反復的なプログラム修復パラダイムを提案する。
ITERはコンパイルエラーを修正し、以前に生成されたコードをさらに精査することで、部分的な単一ロケーションパッチを反復的に改善する。
ITERは、バトルによって実現されたディープニューラルネットワークとコード表現に基づいて、Java向けに実装されている。
- 参考スコア(独自算出の注目度): 9.95078657941232
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Automated program repair (APR) has achieved promising results, especially using neural networks. Yet, the overwhelming majority of patches produced by APR tools are confined to one single location. When looking at the patches produced with neural repair, most of them fail to compile, while a few uncompilable ones go in the right direction. In both cases, the fundamental problem is to ignore the potential of partial patches. In this paper, we propose an iterative program repair paradigm called ITER founded on the concept of improving partial patches until they become plausible and correct. First, ITER iteratively improves partial single-location patches by fixing compilation errors and further refining the previously generated code. Second, ITER iteratively improves partial patches to construct multi-location patches, with fault localization re-execution. ITER is implemented for Java based on battle-proven deep neural networks and code representation. ITER is evaluated on 476 bugs from 10 open-source projects in Defects4J 2.0. ITER succeeds in repairing 15.5% of them, including 9 uniquely repaired multi-location bugs.
- Abstract(参考訳): 自動プログラム修復(APR)は、特にニューラルネットワークを用いて、有望な結果を得た。
しかし、APRツールが生成するパッチの圧倒的多数は、1つの場所に限られている。
神経修復で生成されたパッチを見ると、ほとんどのパッチはコンパイルに失敗し、コンパイル不可能なパッチは正しい方向に進む。
どちらの場合も、根本的な問題は部分パッチの可能性を無視することである。
本稿では、部分パッチの改善という概念に基づいて、ITERと呼ばれる反復的なプログラム修復パラダイムを提案する。
まず、ITERはコンパイルエラーを修正し、以前に生成されたコードをさらに精査することで、部分的な単一ロケーションパッチを反復的に改善する。
第二に、ITERは部分パッチを反復的に改善してマルチロケーションパッチを構築し、フォールトローカライゼーションを再実行する。
ITERは、バトルによって実現されたディープニューラルネットワークとコード表現に基づいて、Java向けに実装されている。
ITERはDefects4J 2.0の10のオープンソースプロジェクトから476のバグについて評価されている。
ITERは15.5%の修復に成功した。
関連論文リスト
- Ranking Plausible Patches by Historic Feature Frequencies [4.129445293427074]
PrevaRank は,バグ修正の歴史的プログラマによる修正と特徴的類似性に応じて,可塑性パッチをランク付けする手法である。
PrevaRankは、修正のランクを継続的に改善した。
さまざまなAPRツールやバグに対して,オーバーヘッドを無視して,堅牢に動作します。
論文 参考訳(メタデータ) (2024-07-24T12:58:14Z) - 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) - ReGAL: Refactoring Programs to Discover Generalizable Abstractions [59.05769810380928]
Generalizable Abstraction Learning (ReGAL)は、再利用可能な関数のライブラリをコード化して学習する手法である。
ReGALによって発見された共有関数ライブラリは、プログラムが様々な領域で容易に予測できることを示している。
CodeLlama-13Bでは、ReGALはLOGOで11.5%、日付理解で26.1%、TextCraftで8.1%という絶対精度が向上し、3つのドメインのうち2つでGPT-3.5を上回った。
論文 参考訳(メタデータ) (2024-01-29T18:45:30Z) - A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models [50.86686630756207]
研究によると、ある文の文法的誤りは、それを他の言語に翻訳し、その語を返せば修正できる。
現在の自動プログラム修復(APR)生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,あるプログラミング言語から別のプログラミング言語,あるいは自然言語へのコード変換,そして,その逆といった,微調整ステップをバイパスし,ラウンド・トリップ変換(RTT)を用いる手法を提案する。
論文 参考訳(メタデータ) (2024-01-15T22:36:31Z) - Enhancing Redundancy-based Automated Program Repair by Fine-grained
Pattern Mining [18.3896381051331]
本稿では,効果的なパッチ生成を導くための2段階のパターンマイニングプロセスを含むRepattという新しい修復手法を提案する。
我々は広く使われているDefects4Jベンチマークの実験を行い、Repattを8つの最先端のAPRアプローチと比較した。
論文 参考訳(メタデータ) (2023-12-26T08:42:32Z) - Enhancing Genetic Improvement Mutations Using Large Language Models [47.62003403631452]
大規模言語モデル(LLM)は、プログラム修復を含むソフトウェア工学のタスクにうまく適用されている。
遺伝子改良(GI)のための突然変異演算子としてLLMを用いた検索プロセスの改善について検討した。
単体テストに合格するパッチの数は、標準のInsert編集よりもLLMベースの編集の方が75%高いことがわかった。
論文 参考訳(メタデータ) (2023-10-18T10:24:14Z) - 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) - BigIssue: A Realistic Bug Localization Benchmark [89.8240118116093]
BigIssueは、現実的なバグローカライゼーションのためのベンチマークである。
実際のJavaバグと合成Javaバグの多様性を備えた一般的なベンチマークを提供する。
われわれは,バグローカライゼーションの最先端技術として,APRの性能向上と,現代の開発サイクルへの適用性の向上を期待している。
論文 参考訳(メタデータ) (2022-07-21T20:17:53Z) - CURE: Code-Aware Neural Machine Translation for Automatic Program Repair [11.556110575946631]
提案するCUREは,3つの新奇性を持つ新しいNMTベースのAPR手法である。
CUREは、APRタスクの前に開発者ライクなソースコードを学ぶために、大きなソフトウェア上でプログラミング言語(PL)モデルを事前にトレーニングします。
第2に、curyは、バギーコードに近いコンパイル可能なパッチとパッチに注目して、より正確な修正を見つける新しいコードアウェア検索戦略をデザインする。
論文 参考訳(メタデータ) (2021-02-26T22:30:28Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。