論文の概要: Repair Is Nearly Generation: Multilingual Program Repair with LLMs
- arxiv url: http://arxiv.org/abs/2208.11640v1
- Date: Wed, 24 Aug 2022 16:25:58 GMT
- ステータス: 処理完了
- システム内更新日: 2022-08-25 13:22:28.095273
- Title: Repair Is Nearly Generation: Multilingual Program Repair with LLMs
- Title(参考訳): ほぼ世代の修復: llmsによる多言語プログラムの修復
- Authors: Harshit Joshi, Jos\'e Cambronero, Sumit Gulwani, Vu Le, Ivan Radicek,
Gust Verbruggen
- Abstract要約: Codexのようなコード(LLMC)でトレーニングされた大規模言語モデルを利用した多言語修復エンジンであるRingを紹介する。
プログラマが手動でバグを修正する方法からインスピレーションを得て、修復をローカライズ、トランスフォーメーション、候補ランキングとして概念化するプロンプトベースの戦略が、最小限の努力で複数のドメインでのプログラムの修復に成功できることを示す。
- 参考スコア(独自算出の注目度): 9.610685299268825
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Most programmers make mistakes when writing code. Some of these mistakes are
small and require few edits to the original program - a class of errors
recently termed last mile mistakes. These errors break the flow for experienced
developers and can stump novice programmers. Existing automated repair
techniques targeting this class of errors are domain-specific and do not easily
carry over to new domains. Transferring symbolic approaches requires
substantial engineering and neural approaches require data and retraining. We
introduce RING, a multilingual repair engine powered by a large language model
trained on code (LLMC) such as Codex. Such a multilingual engine enables a
flipped model for programming assistance, one where the programmer writes code
and the AI assistance suggests fixes, compared to traditional code suggestion
technology. Taking inspiration from the way programmers manually fix bugs, we
show that a prompt-based strategy that conceptualizes repair as localization,
transformation, and candidate ranking, can successfully repair programs in
multiple domains with minimal effort. We present the first results for such a
multilingual repair engine by evaluating on 6 different domains and comparing
performance to domain-specific repair engines. We show that RING can outperform
domain-specific repair engines in 3 of these domains. We also identify
directions for future research using LLMCs for multilingual repair.
- Abstract(参考訳): ほとんどのプログラマはコードを書くときに間違いを犯します。
これらのミスのいくつかは小さく、オリジナルのプログラムの編集をほとんど必要としない。
これらのエラーは、経験豊富な開発者にとっての流れを壊し、初心者プログラマを驚かせます。
このタイプのエラーを対象とする既存の自動修復技術はドメイン固有であり、新しいドメインに簡単には受け継がれない。
シンボリックアプローチの転送には相当なエンジニアリングが必要であり、ニューラルアプローチにはデータと再トレーニングが必要である。
我々は,codexのような大規模言語モデル(llmc)を活用した多言語補修エンジンであるringを紹介する。
このような多言語エンジンは、プログラマがコードを書き、AIアシストが修正を提案する、従来のコード提案技術と比較して、プログラムアシストのためのフリップモデルを可能にする。
プログラマが手動でバグを修正する方法からインスピレーションを得て、修復をローカライズ、トランスフォーメーション、候補ランキングとして概念化するプロンプトベースの戦略が、最小限の努力で複数のドメインでのプログラムの修復に成功できることを示す。
6つの異なる領域で評価し,ドメイン固有の補修エンジンの性能を比較することで,このような多言語補修エンジンの最初の結果を示す。
これらのドメインのうち3つにおいて,リングはドメイン固有の修理エンジンよりも優れた性能を示す。
また,多言語補綴のためのllmcsを用いた今後の研究の方向性を明らかにする。
関連論文リスト
- 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 [9.352266103476046]
本稿では,APRのコード表現と,LoRAと呼ばれるパラメータ効率の高いLLM微調整技術を組み合わせたプログラム修復手法を提案する。
この結果、LLaMAは言語モデルでバグを修正するのに非常に効果的なプログラム修復アダプタを作成した。
全体として、Re repairLLaMAは125のDefects4J v2と82のHumanEval-Javaバグを正しく修正し、すべてのベースラインを上回っている。
論文 参考訳(メタデータ) (2023-12-25T11:39:46Z) - How Helpful do Novice Programmers Find the Feedback of an Automated
Repair Tool? [1.2990666399718034]
自動修復ツールであるCLARAを使って初心者にフィードバックを提供する経験について述べる。
まず、私たちはCLARAを拡張してPython言語のより大きなサブセットをサポートし、それからプログラミング演習に使用するJupyter Notebooksと統合しました。
初心者は、しばしば、提案された修復を理解するのに苦労し、コンパイラ/解釈メッセージを理解するのがよく知られた課題であることがわかった。
論文 参考訳(メタデータ) (2023-10-02T07:45:56Z) - 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) - Multilingual Code Co-Evolution Using Large Language Models [45.083171710527985]
あるプログラミング言語から別のプログラミング言語へのコード変更の翻訳は、開発者の作業方法ではない。
Codeditorは、明示的にコード変更を編集としてモデル化し、プログラミング言語間で変更を関連付けることを学習する。
Codeditorは、一般的に使用されるすべての自動メトリクスに対して、最先端のアプローチを大きなマージンで上回る。
論文 参考訳(メタデータ) (2023-07-27T16:37:30Z) - Repairing Bugs in Python Assignments Using Large Language Models [9.973714032271708]
本稿では,プログラム代入のためのAPRシステムを構築するために,コード上で訓練された大規模言語モデルを提案する。
本システムでは,複数モーダルプロンプト,反復クエリ,テストケースベースの数ショット選択,プログラムチャンキングを組み合わせることで,構文的および意味的誤りを解消することができる。
我々は,286の実際の学生プログラム上でMMAPRを評価し,最新のPython構文修復エンジン,BIFI,最新のPython意味修復エンジンを組み合わせたベースラインであるRefactoryと比較した。
論文 参考訳(メタデータ) (2022-09-29T15:41:17Z) - Neurosymbolic Repair for Low-Code Formula Languages [12.986749944196402]
ExcelやPowerAppsのようなローコードプラットフォームのほとんどのユーザは、ドメイン固有の公式言語でプログラムを書く。
LAst-Mile RepAirエンジンのGEneratorであるLaMirageを開発した。
我々はLaMirageを400の実ExcelとPowerFxの公式に対する最先端のニューラルおよびシンボリックアプローチと比較する。
論文 参考訳(メタデータ) (2022-07-24T15:56:03Z) - BigIssue: A Realistic Bug Localization Benchmark [89.8240118116093]
BigIssueは、現実的なバグローカライゼーションのためのベンチマークである。
実際のJavaバグと合成Javaバグの多様性を備えた一般的なベンチマークを提供する。
われわれは,バグローカライゼーションの最先端技術として,APRの性能向上と,現代の開発サイクルへの適用性の向上を期待している。
論文 参考訳(メタデータ) (2022-07-21T20:17:53Z) - 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) - Graph-based, Self-Supervised Program Repair from Diagnostic Feedback [108.48853808418725]
本稿では,ソースコードの修復や診断フィードバックに関連するシンボルを結合するプログラムフィードバックグラフを提案する。
次に、推論プロセスのモデル化にグラフニューラルネットワークを適用します。
オンラインで利用可能なラベルのないプログラムを活用するプログラム修復のための自己指導型学習パラダイムを提案する。
論文 参考訳(メタデータ) (2020-05-20T07:24:28Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。