論文の概要: Hybrid Automated Program Repair by Combining Large Language Models and Program Analysis
- arxiv url: http://arxiv.org/abs/2406.00992v2
- Date: Tue, 4 Jun 2024 06:11:51 GMT
- ステータス: 処理完了
- システム内更新日: 2024-06-06 02:27:34.795462
- Title: Hybrid Automated Program Repair by Combining Large Language Models and Program Analysis
- Title(参考訳): 大規模言語モデルとプログラム解析を組み合わせたハイブリッド自動プログラム修復
- Authors: Fengjie Li, Jiajun Jiang, Jiajun Sun, Hongyu Zhang,
- Abstract要約: 自動プログラム修復(APR)は、人間の開発者のバグ修正プロセスを合理化する可能性から、大きな注目を集めている。
本稿ではGIANTREPAIRと呼ばれる革新的なAPR手法を紹介する。
この知見に基づいて、GIANTREPAIRはまず、LLM生成したパッチからパッチスケルトンを構築して、パッチ空間を閉じ込め、その後、特定のプログラムに適した高品質なパッチを生成する。
- 参考スコア(独自算出の注目度): 12.7034916462208
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Automated Program Repair (APR) has garnered significant attention due to its potential to streamline the bug repair process for human developers. Recently, LLM-based APR methods have shown promise in repairing real-world bugs. However, existing APR methods often utilize patches generated by LLMs without further optimization, resulting in reduced effectiveness due to the lack of program-specific knowledge. Furthermore, the evaluations of these APR methods have typically been conducted under the assumption of perfect fault localization, which may not accurately reflect their real-world effectiveness. To address these limitations, this paper introduces an innovative APR approach called GIANTREPAIR. Our approach leverages the insight that LLM-generated patches, although not necessarily correct, offer valuable guidance for the patch generation process. Based on this insight, GIANTREPAIR first constructs patch skeletons from LLM-generated patches to confine the patch space, and then generates high-quality patches tailored to specific programs through context-aware patch generation by instantiating the skeletons. To evaluate the performance of our approach, we conduct two large-scale experiments. The results demonstrate that GIANTREPAIR not only effectively repairs more bugs (an average of 27.78% on Defects4J v1.2 and 23.40% on Defects4J v2.0) than using LLM-generated patches directly, but also outperforms state-of-the-art APR methods by repairing at least 42 and 7 more bugs under perfect and automated fault localization scenarios, respectively.
- Abstract(参考訳): 自動プログラム修復(APR)は、人間の開発者のバグ修正プロセスを合理化する可能性から、大きな注目を集めている。
近年,LLMをベースとしたAPR手法は,実際のバグの修復に有望であることが示された。
しかし、既存のAPR手法では、LLMが生成したパッチをさらなる最適化なしに利用することが多く、プログラム固有の知識が欠如しているため、効率が低下する。
さらに,これらのAPR手法の評価は,その実効性を正確に反映しない完全断層定位を前提として行われるのが一般的である。
このような制約に対処するため,GIANTREPAIRと呼ばれる革新的なAPR手法を提案する。
我々のアプローチは、LLM生成したパッチが必ずしも正しいとは限らないが、パッチ生成プロセスに価値あるガイダンスを提供するという洞察を活用する。
この知見に基づいて、GIANTREPAIRはまず、LLM生成したパッチからパッチスケルトンを構築してパッチスペースを限定し、その後、スケルトンをインスタンス化してコンテキスト対応のパッチ生成を通じて、特定のプログラムに適した高品質なパッチを生成する。
提案手法の性能を評価するため,2つの大規模実験を行った。
その結果、GIANTREPAIRはLSMの生成したパッチを直接使用するよりも多くのバグ(Defects4J v1.2の平均は27.78%、Defects4J v2.0の平均は23.40%)を効果的に修復するだけでなく、フォールトローカライゼーションのシナリオにおいて、少なくとも42と7のバグを修復することで、最先端のAPRメソッドよりも優れていることが示された。
関連論文リスト
- MQM-APE: Toward High-Quality Error Annotation Predictors with Automatic Post-Editing in LLM Translation Evaluators [53.91199933655421]
大規模言語モデル(LLM)は、機械翻訳(MT)の品質評価の裁判官として大きな可能性を秘めている。
LLM評価器によって予測されるエラーアノテーションの品質を高めるために,ユニバーサルでトレーニング不要なフレームワークである$textbfMQM-APEを導入する。
論文 参考訳(メタデータ) (2024-09-22T06:43:40Z) - A Case Study of LLM for Automated Vulnerability Repair: Assessing Impact of Reasoning and Patch Validation Feedback [7.742213291781287]
提案するVRpilotは,推論とパッチ検証フィードバックに基づく脆弱性修復手法である。
以上の結果から,VRpilotはCとJavaのベースライン技術よりも平均14%と7.6%の正確なパッチを生成することがわかった。
論文 参考訳(メタデータ) (2024-05-24T16:29:48Z) - Revisiting Unnaturalness for Automated Program Repair in the Era of Large Language Models [9.454475517867817]
本研究では,テンプレートベースの補修技術の効率化を目的としたパッチ自然度測定,エントロピーデルタを提案する。
提案手法は,最先端の機械学習ツールよりも効果的に正パッチをランク付けできる。
論文 参考訳(メタデータ) (2024-04-23T17:12:45Z) - Aligning LLMs for FL-free Program Repair [14.935596175148586]
本稿では,大規模言語モデル (LLM) をプログラム修復に適用するための新しいアプローチについて検討する。
我々の中核的な洞察は、LLMのAPR能力は、単にトレーニング目標に出力を合わせるだけで大幅に改善できるということです。
この知見に基づいて、我々はAPRの直接的なプロンプトフレームワークであるD4Cを設計した。
論文 参考訳(メタデータ) (2024-04-13T02:36:40Z) - Are Large Language Models Good Prompt Optimizers? [65.48910201816223]
我々は,LLMに基づくPrompt Optimizationの実際のメカニズムを明らかにするために研究を行っている。
以上の結果から, LLMは, 反射中の誤差の真の原因を特定するのに苦慮し, 自己の事前知識に偏っていることが明らかとなった。
我々は、より制御可能な方法でターゲットモデルの振舞いを直接最適化する新しい「自動振舞い最適化」パラダイムを導入する。
論文 参考訳(メタデータ) (2024-02-03T09:48:54Z) - 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) - 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) - Automatically Correcting Large Language Models: Surveying the landscape
of diverse self-correction strategies [104.32199881187607]
大規模言語モデル(LLM)は、幅広いNLPタスクで顕著な性能を示した。
これらの欠陥を正すための有望なアプローチは自己補正であり、LLM自体が自身の出力で問題を修正するために誘導される。
本稿では,この新技術について概観する。
論文 参考訳(メタデータ) (2023-08-06T18:38:52Z) - Revisiting the Plastic Surgery Hypothesis via Large Language Models [9.904030364454563]
本稿では,大規模言語モデルを直接利用するFitRepairと,ドメイン固有の2つの微調整戦略と,より強力なAPR戦略とを組み合わせたFitRepairを提案する。
広く研究されているDefects4j 1.2と2.0データセットに関する実験は、FitRepairが89と44のバグを修正したことを示している。
論文 参考訳(メタデータ) (2023-03-18T20:33:46Z) - Optimizing Two-way Partial AUC with an End-to-end Framework [154.47590401735323]
ROC曲線のエリア(AUC)は、機械学習にとって重要な指標である。
最近の研究は、TPAUCが既存のPartial AUCメトリクスと本質的に矛盾していることを示している。
本論文では,この新指標を最適化するための最初の試行について述べる。
論文 参考訳(メタデータ) (2022-06-23T12:21:30Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。