論文の概要: LecPrompt: A Prompt-based Approach for Logical Error Correction with CodeBERT
- arxiv url: http://arxiv.org/abs/2410.08241v1
- Date: Thu, 10 Oct 2024 01:56:04 GMT
- ステータス: 処理完了
- システム内更新日: 2024-10-31 04:26:09.243428
- Title: LecPrompt: A Prompt-based Approach for Logical Error Correction with CodeBERT
- Title(参考訳): LecPrompt: CodeBERTによる論理エラー訂正のためのPromptベースのアプローチ
- Authors: Zhenyu Xu, Victor S. Sheng,
- Abstract要約: LecPromptは論理的エラーをローカライズし、修復するためのプロンプトベースのアプローチである。
CodeBERTは、コードに基づいてトレーニングされたトランスフォーマーベースの大規模言語モデルである。
Pythonでは、LecPromptが注目すべき74.58%のトップ-1トークンレベルの修復精度を達成した。
Javaでは、LecPromptは69.23%のトップ-1トークンレベルの修復精度を提供する。
- 参考スコア(独自算出の注目度): 28.711745671275477
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Logical errors in programming don't raise compiler alerts, making them hard to detect. These silent errors can disrupt a program's function or cause run-time issues. Their correction requires deep insight into the program's logic, highlighting the importance of automated detection and repair. In this paper, we introduce LecPrompt to localize and repair logical errors, an prompt-based approach that harnesses the capabilities of CodeBERT, a transformer-based large language model trained on code. First, LecPrompt leverages a large language model to calculate perplexity and log probability metrics, pinpointing logical errors at both token and line levels. Through statistical analysis, it identifies tokens and lines that deviate significantly from the expected patterns recognized by large language models, marking them as potential error sources. Second, by framing the logical error correction challenge as a Masked Language Modeling (MLM) task, LecPrompt employs CodeBERT to autoregressively repair the identified error tokens. Finally, the soft-prompt method provides a novel solution in low-cost scenarios, ensuring that the model can be fine-tuned to the specific nuances of the logical error correction task without incurring high computational costs. To evaluate LecPrompt's performance, we created a method to introduce logical errors into correct code and applying this on QuixBugs to produce the QuixBugs-LE dataset. Our evaluations on the QuixBugs-LE dataset for both Python and Java highlight the impressive capabilities of our method, LecPrompt. For Python, LecPrompt achieves a noteworthy 74.58% top-1 token-level repair accuracy and 27.4% program-level repair accuracy. In Java, LecPrompt delivers a 69.23\% top-1 token-level repair accuracy and 24.7% full program-level repair accuracy.
- Abstract(参考訳): プログラミングにおける論理的エラーはコンパイラの警告を発生させません。
これらのサイレントエラーは、プログラムの機能を破壊したり、実行時の問題を引き起こすことがある。
彼らの修正はプログラムのロジックの深い洞察を必要とし、自動検出と修復の重要性を強調している。
本稿では、コードに基づいてトレーニングされたトランスフォーマーベースの大規模言語モデルであるCodeBERTの機能を利用する、プロンプトベースのアプローチである、論理的エラーのローカライズと修復のためのLecPromptを紹介する。
第一に、LecPromptは大きな言語モデルを利用して、トークンレベルとラインレベルの両方で論理エラーを指摘し、複雑度とログ確率のメトリクスを計算する。
統計解析により、大きな言語モデルによって認識される期待パターンとは大きく異なるトークンと行を識別し、潜在的なエラー源としてマークする。
第2に、Masked Language Modeling (MLM)タスクとして論理エラー訂正チャレンジをフレーミングすることで、LecPromptはCodeBERTを使用して、識別されたエラートークンを自動回帰的に修復する。
最後に、ソフトプロンプト法は、コストの高い計算コストを伴わずに、論理的誤り訂正タスクの特定のニュアンスにモデルを微調整できるような、低コストのシナリオで新しいソリューションを提供する。
LecPromptの性能を評価するために、正しいコードに論理的エラーを導入し、QuixBugs-LEデータセットを生成するためにQuixBugsに適用する手法を開発した。
PythonとJavaのQuixBugs-LEデータセットに対する我々の評価は、我々のメソッドであるLecPromptの印象的な機能を強調します。
Pythonの場合、LecPromptは74.58%のトークンレベルの修正精度と27.4%のプログラムレベルの修正精度を達成した。
Javaでは、LecPromptは69.23\%のトークンレベルの修復精度と24.7%のプログラムレベルの修正精度を提供する。
関連論文リスト
- A Coin Has Two Sides: A Novel Detector-Corrector Framework for Chinese Spelling Correction [79.52464132360618]
中国語のSpelling Correction(CSC)は、自然言語処理(NLP)の基本課題である。
本稿では,エラー検出・相関器の枠組みに基づく新しい手法を提案する。
我々の検出器は2つのエラー検出結果を得るように設計されており、それぞれ高精度とリコールが特徴である。
論文 参考訳(メタデータ) (2024-09-06T09:26:45Z) - Rectifier: Code Translation with Corrector via LLMs [11.38401806203093]
本稿では,翻訳誤りを修復するマイクロ・ユニバーサルモデルであるRectifierを提案する。
C++,Java,Python間の翻訳タスクの実験結果から,本モデルが有効な修復能力を有することが示された。
論文 参考訳(メタデータ) (2024-07-10T08:58:41Z) - MEIC: Re-thinking RTL Debug Automation using LLMs [18.964523115622928]
本研究は,新しいフレームワーク,Make each Iteration Count(MEIC)を紹介する。
MEICは、構文と関数のエラーを識別し、修正するのに適している。
フレームワークを評価するため、178の共通RTLプログラミングエラーからなるオープンソースデータセットを提供する。
論文 参考訳(メタデータ) (2024-05-10T22:32:39Z) - Improving LLM Classification of Logical Errors by Integrating Error Relationship into Prompts [1.7095867620640115]
プログラミング教育の重要な側面は、エラーメッセージの理解と処理である。
プログラムがプログラマの意図に反して動作している「論理エラー」は、コンパイラからエラーメッセージを受け取らない。
そこで本研究では,LLMを用いた論理的誤り検出手法を提案し,この手法を用いて,Chain-of-ThoughtとTree-of-Thoughtのプロンプトのエラータイプ間の関係を推定する。
論文 参考訳(メタデータ) (2024-04-30T08:03: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) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - 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) - On the Robustness of Language Encoders against Grammatical Errors [66.05648604987479]
我々は、非ネイティブ話者から実際の文法的誤りを収集し、これらの誤りをクリーンテキストデータ上でシミュレートするために敵攻撃を行う。
結果,全ての試験モデルの性能は影響するが,影響の程度は異なることがわかった。
論文 参考訳(メタデータ) (2020-05-12T11:01:44Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。