論文の概要: Domain Knowledge Matters: Improving Prompts with Fix Templates for
Repairing Python Type Errors
- arxiv url: http://arxiv.org/abs/2306.01394v1
- Date: Fri, 2 Jun 2023 09:42:16 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-24 04:43:46.359204
- Title: Domain Knowledge Matters: Improving Prompts with Fix Templates for
Repairing Python Type Errors
- Title(参考訳): ドメインの知識:Pythonの型エラーを修復するための固定テンプレートによるプロンプトの改善
- Authors: Yun Peng, Shuzheng Gao, Cuiyun Gao, Yintong Huo, Michael R. Lyu
- Abstract要約: Pythonの型エラーを自動的に修復するためのルールベースのアプローチがある。
アプローチは正確なパッチを生成することができるが、ドメインの専門家がパッチ合成ルールを設計する必要がある。
本稿では,Pythonの型エラーの修正に修正テンプレートを組み込んだ新しいプロンプトベースのアプローチであるTypeFixを提案する。
- 参考スコア(独自算出の注目度): 41.87781274165405
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Although the dynamic type system of Python facilitates the developers in
writing Python programs, it also brings type errors at run-time. There exist
rule-based approaches for automatically repairing Python type errors. The
approaches can generate accurate patches but they require domain experts to
design patch synthesis rules and suffer from low template coverage of
real-world type errors. Learning-based approaches alleviate the manual efforts
in designing patch synthesis rules. Among the learning-based approaches, the
prompt-based approach which leverages the knowledge base of code pre-trained
models via pre-defined prompts, obtains state-of-the-art performance in general
program repair tasks. However, such prompts are manually defined and do not
involve any specific clues for repairing Python type errors, resulting in
limited effectiveness. How to automatically improve prompts with the domain
knowledge for type error repair is challenging yet under-explored. In this
paper, we present TypeFix, a novel prompt-based approach with fix templates
incorporated for repairing Python type errors. TypeFix first mines generalized
fix templates via a novel hierarchical clustering algorithm. The identified fix
templates indicate the common edit patterns and contexts of existing type error
fixes. TypeFix then generates code prompts for code pre-trained models by
employing the generalized fix templates as domain knowledge, in which the masks
are adaptively located for each type error instead of being pre-determined.
Experiments on two benchmarks, including BugsInPy and TypeBugs, show that
TypeFix successfully repairs 26 and 55 type errors, outperforming the best
baseline approach by 9 and 14, respectively. Besides, the proposed fix template
mining approach can cover 75% of developers' patches in both benchmarks,
increasing the best rule-based approach PyTER by more than 30%.
- Abstract(参考訳): Pythonの動的型システムは、開発者がPythonプログラムを書くのを容易にするが、実行時に型エラーをもたらす。
Pythonの型エラーを自動的に修復するためのルールベースのアプローチがある。
これらのアプローチは正確なパッチを生成することができるが、パッチ合成ルールの設計にはドメインの専門家が必要であり、実際の型エラーのテンプレートカバレッジが低い。
学習に基づくアプローチは、パッチ合成ルールの設計における手作業を軽減する。
学習に基づくアプローチのうち、事前定義されたプロンプトを通じて事前学習されたモデルの知識ベースを活用するプロンプトベースのアプローチは、一般的なプログラム修復タスクにおいて最先端のパフォーマンスを得る。
しかし、そのようなプロンプトは手動で定義されており、Pythonの型エラーを修正するための特別な手がかりは含まないため、効果は限られている。
型エラー修復のためのドメイン知識によるプロンプトを自動的に改善する方法は、まだ未調査である。
本稿では,Pythonの型エラーの修正に修正テンプレートを組み込んだ新しいプロンプトベースのアプローチであるTypeFixを提案する。
typefixはまず,新しい階層型クラスタリングアルゴリズムを通じて,一般化された修正テンプレートを発掘する。
特定された修正テンプレートは、既存の型エラー修正の一般的な編集パターンとコンテキストを示している。
次にTypeFixは、一般化された固定テンプレートをドメイン知識として使用することにより、事前訓練されたモデルのコードプロンプトを生成する。
buginpyとtypebugsを含む2つのベンチマーク実験では、typefixが26と55の型エラーをうまく修正し、それぞれ9と14という最高のベースラインアプローチを上回った。
さらに、提案された修正テンプレートマイニングアプローチは、両方のベンチマークで開発者のパッチの75%をカバーし、最高のルールベースのアプローチであるpyterを30%以上増加させる。
関連論文リスト
- LecPrompt: A Prompt-based Approach for Logical Error Correction with CodeBERT [28.711745671275477]
LecPromptは論理的エラーをローカライズし、修復するためのプロンプトベースのアプローチである。
CodeBERTは、コードに基づいてトレーニングされたトランスフォーマーベースの大規模言語モデルである。
Pythonでは、LecPromptが注目すべき74.58%のトップ-1トークンレベルの修復精度を達成した。
Javaでは、LecPromptは69.23%のトップ-1トークンレベルの修復精度を提供する。
論文 参考訳(メタデータ) (2024-10-10T01:56:04Z) - A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models [50.86686630756207]
研究によると、ある文の文法的誤りは、それを他の言語に翻訳し、その語を返せば修正できる。
現在の自動プログラム修復(APR)生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,あるプログラミング言語から別のプログラミング言語,あるいは自然言語へのコード変換,そして,その逆といった,微調整ステップをバイパスし,ラウンド・トリップ変換(RTT)を用いる手法を提案する。
論文 参考訳(メタデータ) (2024-01-15T22:36:31Z) - PyTy: Repairing Static Type Errors in Python [19.74043303068795]
本稿では,Python の静的型エラーを対象とした自動プログラム修復手法 PyTy を提案する。
私たちは、PyTyDefectsという名前の176のGitHubリポジトリから、2,766のエラー修正ペアのデータセットを作成します。
我々の評価によると、PyTyは10の頻繁な型エラーに対して修正を提供し、実世界のエラー281件のうち85.4%に対処できた。
論文 参考訳(メタデータ) (2024-01-12T15:08:56Z) - Do LVLMs Understand Charts? Analyzing and Correcting Factual Errors in Chart Captioning [90.13978453378768]
生成したチャートキャプションに事実誤りを包括的に分類する。
大規模な人間のアノテーションの取り組みは、様々なチャートキャプションモデルによって作られたキャプションのエラーパターンと頻度に関する洞察を提供する。
分析の結果,GPT-4Vを含む最先端モデルでさえ,事実不正確なキャプションを頻繁に生成していることが判明した。
論文 参考訳(メタデータ) (2023-12-15T19:16:21Z) - GAMMA: Revisiting Template-based Automated Program Repair via Mask
Prediction [14.741742268621403]
不適切なドナーコードは、修正パターンが正しい場合でも、プラウジブルだが不正なパッチ生成を引き起こす可能性がある。
本稿では,ドナーコード生成のための大規模事前学習言語モデルを直接活用するGAMMAを提案する。
その結果、GAMMAはDefects4J-v1.2の82のバグを正しく修復し、20.59%(14のバグ)と26.15%(17のバグ)を以前の最先端のテンプレートベースのアプローチであるTBarと学習ベースの1つのRecoderに対して改善した。
論文 参考訳(メタデータ) (2023-09-17T15:49:40Z) - 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) - FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categories and Test Code Repair [0.5749787074942512]
不安定なテストは、テスト中の同じソフトウェアバージョンを非決定的にパスまたは失敗するため、問題となる。
本稿では、フレキネスを除去し、それに基づいてテストコードを修正するために必要な修正の種類を予測することに焦点を当てる。
1つの鍵となるアイデアは、予想される修正カテゴリの形で、テストのフレキネスに関するさらなる知識で、修復プロセスを導くことである。
論文 参考訳(メタデータ) (2023-06-21T19:34:16Z) - Repairing Bugs in Python Assignments Using Large Language Models [9.973714032271708]
本稿では,プログラム代入のためのAPRシステムを構築するために,コード上で訓練された大規模言語モデルを提案する。
本システムでは,複数モーダルプロンプト,反復クエリ,テストケースベースの数ショット選択,プログラムチャンキングを組み合わせることで,構文的および意味的誤りを解消することができる。
我々は,286の実際の学生プログラム上でMMAPRを評価し,最新のPython構文修復エンジン,BIFI,最新のPython意味修復エンジンを組み合わせたベースラインであるRefactoryと比較した。
論文 参考訳(メタデータ) (2022-09-29T15:41:17Z) - A Universal Error Measure for Input Predictions Applied to Online Graph
Problems [57.58926849872494]
本稿では,入力予測における誤差の定量化のための新しい尺度を提案する。
この尺度は、予測されていない要求と予測されていない実際の要求によるエラーをキャプチャする。
論文 参考訳(メタデータ) (2022-05-25T15:24:03Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。