論文の概要: ThinkRepair: Self-Directed Automated Program Repair
- arxiv url: http://arxiv.org/abs/2407.20898v1
- Date: Tue, 30 Jul 2024 15:17:07 GMT
- ステータス: 処理完了
- システム内更新日: 2024-07-31 16:50:19.882209
- Title: ThinkRepair: Self-Directed Automated Program Repair
- Title(参考訳): ThinkRepair: 自己指揮によるプログラムの修復
- Authors: Xin Yin, Chao Ni, Shaohua Wang, Zhenhao Li, Limin Zeng, Xiaohu Yang,
- Abstract要約: プロンプトエンジニアリングによって指示された大規模言語モデル(LLM)は、バグ修正を含む多くのタスクに対処する強力な能力に多くの注目を集めている。
本稿では,自己指向型LLMベースの自動プログラム修復であるThinkRepairについて,収集フェーズと固定フェーズの2つの主要なフェーズを提案する。
ThinkRepairと12SOTA APRを比較した2つの広く研究されているデータセット(Defects4JとQuixBugs)の評価は、バグ修正におけるThinkRepairの優先度を示している。
- 参考スコア(独自算出の注目度): 11.598008952093487
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Though many approaches have been proposed for Automated Program Repair (APR) and indeed achieved remarkable performance, they still have limitations in fixing bugs that require analyzing and reasoning about the logic of the buggy program. Recently, large language models (LLMs) instructed by prompt engineering have attracted much attention for their powerful ability to address many kinds of tasks including bug-fixing. However, the quality of the prompt will highly affect the ability of LLMs and manually constructing high-quality prompts is a costly endeavor. To address this limitation, we propose a self-directed LLM-based automated program repair, ThinkRepair, with two main phases: collection phase and fixing phase. The former phase automatically collects various chains of thoughts that constitute pre-fixed knowledge by instructing LLMs with the Chain-of-Thought (CoT) prompt. The latter phase targets fixing a bug by first selecting examples for few-shot learning and second automatically interacting with LLMs, optionally appending with feedback of testing information. Evaluations on two widely studied datasets (Defects4J and QuixBugs) by comparing ThinkRepair with 12 SOTA APRs indicate the priority of ThinkRepair in fixing bugs. Notably, ThinkRepair fixes 98 bugs and improves baselines by 27%-344.4% on Defects4J V1.2. On Defects4J V2.0, ThinkRepair fixes 12-65 more bugs than the SOTA APRs. Additionally, ThinkRepair also makes a considerable improvement on QuixBugs (31 for Java and 21 for Python at most).
- Abstract(参考訳): 自動プログラム修復(APR)には多くのアプローチが提案されているが、実際は優れたパフォーマンスを達成しているが、バグジープログラムのロジックの分析と推論を必要とするバグの修正には制限がある。
近年,プロンプトエンジニアリングによる大規模言語モデル (LLM) は,バグフィックスなど多種多様なタスクに対処する能力に注目が集まっている。
しかし、プロンプトの品質はLLMの能力に大きく影響し、手作業による高品質なプロンプトの構築はコストがかかる。
この制限に対処するため,我々は,コレクションフェーズと固定フェーズの2つの主要なフェーズを持つ自己指向型LLMベースの自動プログラム修復であるThinkRepairを提案する。
前者のフェーズは、CoT(Chain-of-Thought)プロンプトでLSMに指示することで、事前に固定された知識を構成する様々な思考の連鎖を自動的に収集する。
後者のフェーズは、まず数ショットの学習例を選択し、次にLLMと自動的に対話し、任意にテスト情報のフィードバックを付加することでバグを修正することを目的としている。
ThinkRepairと12SOTA APRを比較した2つの広く研究されているデータセット(Defects4JとQuixBugs)の評価は、バグ修正におけるThinkRepairの優先度を示している。
特にThinkRepairは98のバグを修正し、Defects4J V1.2でベースラインを27%-344.4%改善している。
Defects4J V2.0では、ThinkRepairはSOTA APRよりも12~65のバグを修正している。
さらにThinkRepairはQuixBugs(Javaは31、Pythonは21)でも大幅に改善されている。
関連論文リスト
- FastFixer: An Efficient and Effective Approach for Repairing Programming Assignments [21.848112758958543]
本稿では,FastFixerを提案する。
まず,必要なパッチと関連するコンテキストを生成する方法を学ぶことへのLLMの関心を高めることを目的とした,修復指向のファインチューニング戦略を提案する。
修復効率を考慮すると、FastFixerは自動回帰復号アルゴリズムと比較して16.67倍の高速化を実現している。
論文 参考訳(メタデータ) (2024-10-11T10:17:02Z) - 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) - Repairs in a Block World: A New Benchmark for Handling User Corrections with Multi-Modal Language Models [48.42142115255159]
命令追従操作タスクにおけるマルチモーダルなTPRシーケンスのデータセットであるBlockWorld-Repairsをリリースする。
現状のビジョンと言語モデル(VLM)を複数の設定で評価し,TPRの処理能力と正確な応答性に着目した。
以上の結果から,これらのモデルはまだマルチモーダル・コラボレーティブ・セッティングにデプロイする準備が整っていないことが示唆された。
論文 参考訳(メタデータ) (2024-09-21T21:06:25Z) - RepairAgent: An Autonomous, LLM-Based Agent for Program Repair [16.130469984234956]
本稿では,大規模言語モデル(LLM)に基づく自律型エージェントによるプログラム修復問題に対処する最初の取り組みであるReleaseAgentを紹介する。
repairAgentの主要なコントリビューションには、プログラムの修復に有用なツールセット、動的に更新されたプロンプトフォーマット、ツールを呼び出すエージェントを誘導する有限状態マシンが含まれている。
一般的なDefects4Jデータセットに対する評価は、以前の手法では修正されなかった39のバグを含む164のバグを自律的に修復するAgentの有効性を示す。
論文 参考訳(メタデータ) (2024-03-25T19:17:43Z) - ContrastRepair: Enhancing Conversation-Based Automated Program Repair
via Contrastive Test Case Pairs [23.419180504723546]
ContrastRepairは、対照的なテストペアを提供することで、会話駆動型APRを強化する、新しいAPRアプローチである。
Defects4j、QuixBugs、HumanEval-Javaなど、複数のベンチマークデータセット上でContrastRepairを評価する。
論文 参考訳(メタデータ) (2024-03-04T12:15:28Z) - A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models [50.86686630756207]
研究によると、ある文の文法的誤りは、それを他の言語に翻訳し、その語を返せば修正できる。
現在の自動プログラム修復(APR)生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,あるプログラミング言語から別のプログラミング言語,あるいは自然言語へのコード変換,そして,その逆といった,微調整ステップをバイパスし,ラウンド・トリップ変換(RTT)を用いる手法を提案する。
論文 参考訳(メタデータ) (2024-01-15T22:36:31Z) - RepairLLaMA: Efficient Representations and Fine-Tuned Adapters for Program Repair [8.321263361036808]
そこで我々は,APRの最適なコード表現を微調整モデルで識別する新しいプログラム修復手法であるRe repairLLaMAを提案する。
これにより、AIでバグを修正するのに非常に効果的なプログラム修復アダプタが提供される。
全体として、Re repairLLaMAは144のDefects4J v2と109のHumanEval-Javaバグを正しく修正し、すべてのベースラインを上回っている。
論文 参考訳(メタデータ) (2023-12-25T11:39:46Z) - 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) - 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) - Adversarial Patch Generation for Automated Program Repair [0.0]
NEVERMOREは、バグと修正の敵対的な性質にインスパイアされた、新しい学習ベースのメカニズムである。
NEVERMOREはGenerative Adrial Networksアーキテクチャに基づいて構築されており、人為的な修正を忠実に模倣する修正を生成するために、歴史的なバグ修正を訓練している。
実世界の500のバグに対する実証的な評価は、NEVERMOREがバグ修正に有効であることを示し、調査対象のバグの21.2%が人間の修正にマッチする修復を生成する。
論文 参考訳(メタデータ) (2020-12-21T00:34:29Z) - Graph-based, Self-Supervised Program Repair from Diagnostic Feedback [108.48853808418725]
本稿では,ソースコードの修復や診断フィードバックに関連するシンボルを結合するプログラムフィードバックグラフを提案する。
次に、推論プロセスのモデル化にグラフニューラルネットワークを適用します。
オンラインで利用可能なラベルのないプログラムを活用するプログラム修復のための自己指導型学習パラダイムを提案する。
論文 参考訳(メタデータ) (2020-05-20T07:24:28Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。