論文の概要: MultiMend: Multilingual Program Repair with Context Augmentation and Multi-Hunk Patch Generation
- arxiv url: http://arxiv.org/abs/2501.16044v1
- Date: Mon, 27 Jan 2025 13:37:43 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-01-28 13:58:26.285558
- Title: MultiMend: Multilingual Program Repair with Context Augmentation and Multi-Hunk Patch Generation
- Title(参考訳): MultiMend: コンテキスト拡張とマルチハンクパッチ生成による多言語プログラムの修復
- Authors: Reza Gharibi, Mohammad Hadi Sadreddini, Seyed Mostafa Fakhrahmad,
- Abstract要約: MultiMendは学習ベースのAPRアプローチで、複数のプログラミング言語の修復性能を改善する。
ソースコード行を埋め込み、検索拡張生成を適用して、パッチ生成中に関連する行でバギーコンテキストを拡大する。
4つのプログラミング言語を持つ4つのベンチマークでMultiMendを評価し、最先端の手法と比較した。
- 参考スコア(独自算出の注目度): 2.7036595757881323
- License:
- Abstract: Context: Bugs in code are inevitable and can lead to severe consequences, ranging from security vulnerabilities to operational failures. Debugging software remains challenging despite advances in testing and verification, often requiring extensive manual effort. Learning-based automated program repair (APR) has shown promise in reducing the time, effort, and cost of manually fixing bugs. However, existing techniques face several challenges, including language-dependent strategies, limited bug context utilization, and difficulties in handling bugs that span multiple locations in the code. Objective: This paper introduces MultiMend, a learning-based APR approach designed to improve repair performance on multiple programming languages with language-independent context augmentation and multi-hunk patch generation. Method: MultiMend fine-tunes a pre-trained encoder-decoder transformer model (CodeT5) to generate bug-fixing patches. It embeds source code lines and applies retrieval-augmented generation to augment the buggy context with relevant lines during patch generation. The approach systematically constructs patches for multi-hunk bugs to reduce the needed patch validations. We evaluate MultiMend on four benchmarks with four programming languages and compare it with state-of-the-art methods. Results: Experimental results show that MultiMend achieves competitive effectiveness and efficiency against compared tools. Across all benchmarks, MultiMend fixes 2,077 bugs, of which 1,455 are identical to the developer's patch, and 106 are for multi-hunk bugs. Both context augmentation and multi-hunk patch generation positively contribute to the results. Conclusion: MultiMend shows promising performance across benchmarks. The findings highlight its applicability to real-world software maintenance and its potential to reduce manual debugging efforts.
- Abstract(参考訳): コンテキスト: コードのバグは避けられず、セキュリティ上の脆弱性から運用上の障害まで、深刻な結果をもたらす可能性がある。
テストや検証の進歩にもかかわらず、ソフトウェアのデバッグは依然として難しい。
学習ベースの自動プログラム修正(APR)は、手動でバグを修正する時間、労力、コストを削減することを約束している。
しかし、既存のテクニックでは、言語に依存した戦略、バグコンテキストの利用制限、コードの複数箇所にまたがるバグ処理の困難など、いくつかの課題に直面している。
目的:本稿では,言語に依存しないコンテキスト拡張とマルチハンクパッチ生成による複数プログラミング言語の修復性能向上を目的とした,学習ベースのAPRアプローチであるMultiMendを紹介する。
メソッド: MultiMendは、事前訓練されたエンコーダ-デコーダ変換モデル(CodeT5)を微調整して、バグ修正パッチを生成する。
ソースコード行を埋め込み、検索拡張生成を適用して、パッチ生成中に関連する行でバギーコンテキストを拡大する。
このアプローチは、必要なパッチ検証を減らすために、マルチハンクバグのパッチを体系的に構築する。
4つのプログラミング言語を持つ4つのベンチマークでMultiMendを評価し、最先端の手法と比較した。
結果:MultiMendは比較ツールと競合する効率性と効率性を示す実験結果を得た。
すべてのベンチマークで、MultiMendは2,077のバグを修正し、そのうち1,455は開発者のパッチと同一であり、106はマルチハンクバグである。
コンテキスト拡張とマルチハンクパッチ生成の両方が、結果に肯定的に寄与する。
結論: MultiMendはベンチマーク全体で有望なパフォーマンスを示している。
この調査結果は、実際のソフトウェア保守への適用性と、手作業によるデバッグ作業の削減の可能性を強調している。
関連論文リスト
- A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models [50.86686630756207]
研究によると、ある文の文法的誤りは、それを他の言語に翻訳し、その語を返せば修正できる。
現在の自動プログラム修復(APR)生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,あるプログラミング言語から別のプログラミング言語,あるいは自然言語へのコード変換,そして,その逆といった,微調整ステップをバイパスし,ラウンド・トリップ変換(RTT)を用いる手法を提案する。
論文 参考訳(メタデータ) (2024-01-15T22:36:31Z) - Leveraging Print Debugging to Improve Code Generation in Large Language
Models [63.63160583432348]
大規模言語モデル(LLM)はコード生成タスクにおいて大きな進歩を遂げた。
しかし、複雑なデータ構造やアルゴリズムによるプログラミング問題に対処する彼らのパフォーマンスは、依然として準最適である。
そこで本稿では,LLM のデバッグを "print debugging" 手法でガイドする,コンテキスト内学習手法を提案する。
論文 参考訳(メタデータ) (2024-01-10T18:37:59Z) - Automated Bug Generation in the era of Large Language Models [6.0770779409377775]
BugFarmは任意のコードを複数の複雑なバグに変換する。
BUGFARMが生成した1.9万以上の変異株から435k以上のバグを総合的に評価する。
論文 参考訳(メタデータ) (2023-10-03T20:01:51Z) - T5APR: Empowering Automated Program Repair across Languages through Checkpoint Ensemble [2.7036595757881323]
本稿では,T5APRを提案する。T5APRは,複数のプログラミング言語にまたがるバグ修正のための統一的なソリューションを提供するニューラルプログラム修復手法である。
T5APRは1,985のバグを正しく修正する。
論文 参考訳(メタデータ) (2023-09-27T15:54:08Z) - 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) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - 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) - Generating Bug-Fixes Using Pretrained Transformers [11.012132897417592]
実世界のgithubからマイニングしたjavaメソッドのバグの検出と修正を学ぶ,データ駆動型プログラム修復手法を導入する。
ソースコードプログラムの事前トレーニングは,スクラッチからの教師ありトレーニングに比べて,33%のパッチ数を改善することを示す。
我々は,標準精度評価基準を非削除および削除のみの修正に洗練し,我々の最良モデルが従来よりも75%多くの非削除修正を生成することを示す。
論文 参考訳(メタデータ) (2021-04-16T05:27:04Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。