論文の概要: 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%の修復に成功した。
関連論文リスト
- ReGAL: Refactoring Programs to Discover Generalizable Abstractions [66.37493420911979]
Generalizable Abstraction Learning (ReGAL)は、コードカプセル化によって再利用可能な関数のライブラリを学ぶ方法である。
ReGALによって発見された共有関数ライブラリは、プログラムが様々な領域で容易に予測できることを示している。
CodeLlama-13Bでは、ReGALはグラフィックスで11.5%、日付理解で26.1%、MinecraftベースのテキストゲームであるTextCraftで8.1%という絶対的な精度向上を実現している。
論文 参考訳(メタデータ) (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) - A Syntax-Guided Edit Decoder for Neural Program Repair [14.978841897815434]
プレースホルダ生成機能を備えた構文誘導編集デコーダであるRecoderを提案する。
Defects4J v1.2の395のバグ、Defects4J v2.0の420のバグ、IntroClassJavaの297のバグ、QuixBugsの40のバグについて、Recoderを評価する実験を行います。
以上の結果からRecoderはDefects4J v1.2の53のバグを修復し,従来よりも26.2% (11のバグ)の改善を実現した。
論文 参考訳(メタデータ) (2021-06-15T16:01:51Z) - Break-It-Fix-It: Unsupervised Learning for Program Repair [90.55497679266442]
我々は2つの重要なアイデアを持つ新しいトレーニング手法であるBreak-It-Fix-It (BIFI)を提案する。
批判者は、実際の悪い入力でフィクスダーの出力をチェックし、トレーニングデータに良い(固定された)出力を追加する。
これらのアイデアに基づいて、よりペア化されたデータを生成するために、ブレーカとフィクスチャを同時に使用しながら、繰り返し更新する。
BIFIは既存のメソッドより優れており、GitHub-Pythonで90.5%、DeepFixで71.7%の修正精度がある。
論文 参考訳(メタデータ) (2021-06-11T20:31:04Z) - Exploring Plausible Patches Using Source Code Embeddings in JavaScript [1.3327130030147563]
オープンソースJavaScriptプロジェクトでDoc2Vecモデルをトレーニングし、10のバグに対して465のパッチを生成しました。
これらの正当なパッチと開発者修正は、元のプログラムとの類似性に基づいてランク付けされる。
これらの類似性リストを分析し、プレーンな文書埋め込みが誤分類につながる可能性があることを発見した。
論文 参考訳(メタデータ) (2021-03-31T06:57:10Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。