論文の概要: Detect-Localize-Repair: A Unified Framework for Learning to Debug with
CodeT5
- arxiv url: http://arxiv.org/abs/2211.14875v2
- Date: Thu, 1 Dec 2022 17:28:40 GMT
- ステータス: 処理完了
- システム内更新日: 2022-12-02 16:41:53.760059
- Title: Detect-Localize-Repair: A Unified Framework for Learning to Debug with
CodeT5
- Title(参考訳): Detect-Localize-Repair: CodeT5でデバッグを学ぶための統一フレームワーク
- Authors: Nghi D. Q. Bui, Yue Wang, Steven Hoi
- Abstract要約: 本稿では,事前訓練されたプログラミング言語モデルであるCodeT5に基づく,新しい統一型emphDetect-Localize-Repairフレームワークを提案する。
我々のモデルは、NLPとソフトウェア工学の両方の領域から既存のベースラインを著しく上回ります。
- 参考スコア(独自算出の注目度): 14.712753336831172
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Automated software debugging is a crucial task for improving the productivity
of software developers. Many neural-based techniques have been proven effective
for debugging-related tasks such as bug localization and program repair (or bug
fixing). However, these techniques often focus only on either one of them or
approach them in a stage-wise manner, ignoring the mutual benefits between
them. In this work, we propose a novel unified \emph{Detect-Localize-Repair}
framework based on a pretrained programming language model CodeT5 to seamlessly
address these tasks, named CodeT5-DLR. Specifically, we propose three
objectives to adapt the generic CodeT5 for debugging: a bug detection objective
to determine whether a given code snippet is buggy or not, a bug localization
objective to identify the buggy lines, and a program repair objective to
translate the buggy code to its fixed version. We evaluate it on each of these
tasks and their combined setting on two newly collected line-level debugging
datasets in Java and Python. Extensive results show that our model
significantly outperforms existing baselines from both NLP and software
engineering domains.
- Abstract(参考訳): ソフトウェアデバッギングの自動化は、ソフトウェア開発者の生産性を向上させるための重要なタスクです。
多くのニューラルネットワーク技術は、バグローカライゼーションやプログラム修復(バグ修正)といったデバッグ関連のタスクに有効であることが証明されている。
しかし、これらの技法は、しばしば両者の相互利益を無視して、どちらか一方にのみ焦点をあてたり、段階的にアプローチしたりする。
本研究では,事前に訓練されたプログラミング言語モデルであるCodeT5をベースとして,これらのタスクをシームレスに処理する新しい統合型 'emph{Detect-Localize-Repair} フレームワークを提案する。
具体的には,デバッグに汎用的なcodet5を適用するための3つの目標を提案する。与えられたコードスニペットがバギーであるかどうかを判断するバグ検出目的,バギーラインを特定するバグローカライゼーション目標,バギーコードを固定バージョンに変換するプログラム修復目標である。
新たに収集した2つの行レベルのデバッグデータセットをJavaとPythonで組み合わせて評価する。
その結果,NLPとソフトウェア工学の両分野において,モデルが既存のベースラインを大幅に上回ることがわかった。
関連論文リスト
- A Deep Dive into Large Language Models for Automated Bug Localization and Repair [12.756202755547024]
大規模言語モデル(LLM)は、自動プログラム修復(APR)など、様々なソフトウェアエンジニアリングタスクにおいて顕著な効果を示している。
本研究では,LSMを用いた自動バグ修正について深く検討する。
異なるLLMを用いてバグの局所化と修正を分離することにより、多様なコンテキスト情報の効果的な統合が可能になる。
Toggleは、CodeXGLUEコード改善ベンチマークで、新しい最先端(SOTA)パフォーマンスを実現する。
論文 参考訳(メタデータ) (2024-04-17T17:48:18Z) - 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) - 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) - Neural Program Repair with Program Dependence Analysis and Effective
Filter Mechanism [37.70518599085677]
単行Javaバグを修正するために、一般的な事前学習言語モデルに適応する、アプローチと呼ばれる新しいニューラルプログラム修復フレームワークを提案する。
我々は,プログラムスライシングを用いて,与えられたバギー文に直接関連した文脈情報を,対応するプログラム依存グラフから補修材料として抽出する試みを行う。
最先端のベースラインと比較して,5つのベンチマークに対するアプローチの有効性を示す。
論文 参考訳(メタデータ) (2023-05-16T09:43:04Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - BigIssue: A Realistic Bug Localization Benchmark [89.8240118116093]
BigIssueは、現実的なバグローカライゼーションのためのベンチマークである。
実際のJavaバグと合成Javaバグの多様性を備えた一般的なベンチマークを提供する。
われわれは,バグローカライゼーションの最先端技術として,APRの性能向上と,現代の開発サイクルへの適用性の向上を期待している。
論文 参考訳(メタデータ) (2022-07-21T20:17:53Z) - FixEval: Execution-based Evaluation of Program Fixes for Programming
Problems [23.987104440395576]
FixEvalは、競合するプログラミング問題とそれに対応する修正に対して、バグの多いコードを提出するベンチマークです。
FixEvalは、モデル生成プログラム修正の正確性を評価するために、ユニットテストの広範なコレクションを提供する。
実験の結果,マッチングに基づくメトリクスは,モデル生成プログラムの修正を正確に反映しないことがわかった。
論文 参考訳(メタデータ) (2022-06-15T20:18:43Z) - Generating Bug-Fixes Using Pretrained Transformers [11.012132897417592]
実世界のgithubからマイニングしたjavaメソッドのバグの検出と修正を学ぶ,データ駆動型プログラム修復手法を導入する。
ソースコードプログラムの事前トレーニングは,スクラッチからの教師ありトレーニングに比べて,33%のパッチ数を改善することを示す。
我々は,標準精度評価基準を非削除および削除のみの修正に洗練し,我々の最良モデルが従来よりも75%多くの非削除修正を生成することを示す。
論文 参考訳(メタデータ) (2021-04-16T05:27:04Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。