論文の概要: MCRepair: Multi-Chunk Program Repair via Patch Optimization with Buggy
Block
- arxiv url: http://arxiv.org/abs/2310.08157v2
- Date: Sat, 14 Oct 2023 04:31:22 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-23 03:02:21.981278
- Title: MCRepair: Multi-Chunk Program Repair via Patch Optimization with Buggy
Block
- Title(参考訳): MCRepair: Buggy Blockによるパッチ最適化によるマルチチャンクプログラムの修正
- Authors: Jisung Kim and Byeongjung Lee
- Abstract要約: 本稿では,マルチコード修復(MCRepair)と呼ばれる新しいAPR手法を提案する。
Defects4Jを使った実験で、MCRepairは、21のマルチチャンクバグを含む65のバグを修復した。さらに、8のマルチチャンクバグを含む18のユニークなバグを修正し、ベースラインよりも40%から250パーセントパフォーマンスを改善した。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Automated program repair (APR) is a technology that identifies and repairs
bugs automatically. However, repairing multi-chunk bugs remains a long-standing
and challenging problem because an APR technique must consider dependencies and
then reduce the large patch space. In addition, little is known about how to
combine individual candidate patches even though multi-chunk bugs require
combinations. Therefore, we propose a novel APR technique called multi-code
repair (MCRepair), which applies a buggy block, patch optimization, and
CodeBERT to target multi-chunk bugs. A buggy block is a novel method that binds
buggy chunks into a multi-buggy chunk and preprocesses the chunk with its buggy
contexts for patch space reduction and dependency problems. Patch optimization
is a novel strategy that effectively combines the generated candidate patches
with patch space reduction. In addition, CodeBERT, a BERT for source code
datasets, is fine-tuned to address the lack of datasets and out-of-vocabulary
problems. We conducted several experiments to evaluate our approach on six
project modules of Defects4J. In the experiments using Defects4J, MCRepair
repaired 65 bugs, including 21 multi-chunk bugs. Moreover, it fixed 18 unique
bugs, including eight multi-chunk bugs, and improved 40 to 250 percent
performance than the baselines.
- Abstract(参考訳): 自動プログラム修復(APR)は、バグを特定し、自動的に修復する技術である。
しかし、APR技術は依存関係を考慮し、大きなパッチスペースを減らす必要があるため、マルチチャンクバグの修正は長く、困難な問題である。
さらに、マルチチャンクのバグには組み合わせが必要だが、個々の候補パッチを組み合わせる方法についてはほとんど知られていない。
そこで本研究では,マルチチャンクバグに対してバギーブロック,パッチ最適化,コードバートを適用するマルチコード修復(mcrepair)という新しい手法を提案する。
バグジーブロックは、バグギーチャンクをマルチバグギーチャンクにバギーチャンクを結合し、パッチスペースの削減と依存性の問題に対するバグギーコンテキストでチャンクを前処理する新しい方法である。
パッチ最適化は、生成された候補パッチとパッチ空間の削減を効果的に組み合わせた新しい戦略である。
さらに、ソースコードデータセット用のBERTであるCodeBERTは、データセットの欠如と語彙外問題に対処するように微調整されている。
我々は,Defects4Jの6つのプロジェクトモジュールに対するアプローチを評価するために,いくつかの実験を行った。
Defects4Jを使った実験では、MCRepairが65のバグを修復した。
さらに、8つのマルチチャンクバグを含む18のユニークなバグを修正し、ベースラインよりも40%から250パーセントのパフォーマンスを改善した。
関連論文リスト
- ThinkRepair: Self-Directed Automated Program Repair [11.598008952093487]
プロンプトエンジニアリングによって指示された大規模言語モデル(LLM)は、バグ修正を含む多くのタスクに対処する強力な能力に多くの注目を集めている。
本稿では,自己指向型LLMベースの自動プログラム修復であるThinkRepairについて,収集フェーズと固定フェーズの2つの主要なフェーズを提案する。
ThinkRepairと12SOTA APRを比較した2つの広く研究されているデータセット(Defects4JとQuixBugs)の評価は、バグ修正におけるThinkRepairの優先度を示している。
論文 参考訳(メタデータ) (2024-07-30T15:17:07Z) - KGym: A Platform and Dataset to Benchmark Large Language Models on Linux Kernel Crash Resolution [59.20933707301566]
大規模言語モデル(LLM)は、ますます現実的なソフトウェア工学(SE)タスクにおいて一貫して改善されている。
現実世界のソフトウェアスタックでは、Linuxカーネルのような基本的なシステムソフトウェアの開発にSEの取り組みが費やされています。
このような大規模システムレベルのソフトウェアを開発する際にMLモデルが有用かどうかを評価するため、kGymとkBenchを紹介する。
論文 参考訳(メタデータ) (2024-07-02T21:44:22Z) - 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) - DebugBench: Evaluating Debugging Capability of Large Language Models [80.73121177868357]
DebugBench - LLM(Large Language Models)のベンチマーク。
C++、Java、Pythonの4つの主要なバグカテゴリと18のマイナータイプをカバーする。
ゼロショットシナリオで2つの商用および4つのオープンソースモデルを評価する。
論文 参考訳(メタデータ) (2024-01-09T15:46:38Z) - RaceFixer -- An Automated Data Race Fixer [0.0]
RaceFixerは、ひとつの一般的なタイプのバグを修正するプロセスを自動化する。
複数のバグのパッチを組み合わせることで、パフォーマンスとコードの可読性を向上する。
論文 参考訳(メタデータ) (2024-01-08T20:25:14Z) - Enhancing Redundancy-based Automated Program Repair by Fine-grained
Pattern Mining [18.3896381051331]
本稿では,効果的なパッチ生成を導くための2段階のパターンマイニングプロセスを含むRepattという新しい修復手法を提案する。
我々は広く使われているDefects4Jベンチマークの実験を行い、Repattを8つの最先端のAPRアプローチと比較した。
論文 参考訳(メタデータ) (2023-12-26T08:42:32Z) - Automated Bug Generation in the era of Large Language Models [6.0770779409377775]
BugFarmは任意のコードを複数の複雑なバグに変換する。
BUGFARMが生成した1.9万以上の変異株から435k以上のバグを総合的に評価する。
論文 参考訳(メタデータ) (2023-10-03T20:01:51Z) - 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) - ITER: Iterative Neural Repair for Multi-Location Patches [9.95078657941232]
本稿では,ITERと呼ばれる反復的なプログラム修復パラダイムを提案する。
ITERはコンパイルエラーを修正し、以前に生成されたコードをさらに精査することで、部分的な単一ロケーションパッチを反復的に改善する。
ITERは、バトルによって実現されたディープニューラルネットワークとコード表現に基づいて、Java向けに実装されている。
論文 参考訳(メタデータ) (2023-04-24T11:32:02Z) - Using Developer Discussions to Guide Fixing Bugs in Software [51.00904399653609]
我々は,タスク実行前に利用可能であり,また自然発生しているバグレポートの議論を,開発者による追加情報の必要性を回避して利用することを提案する。
このような議論から派生したさまざまな自然言語コンテキストがバグ修正に役立ち、オラクルのバグ修正コミットに対応するコミットメッセージの使用よりもパフォーマンスの向上につながることを実証する。
論文 参考訳(メタデータ) (2022-11-11T16:37:33Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。