論文の概要: Copiloting the Copilots: Fusing Large Language Models with Completion
Engines for Automated Program Repair
- arxiv url: http://arxiv.org/abs/2309.00608v2
- Date: Thu, 19 Oct 2023 16:20:13 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-20 19:17:39.566830
- Title: Copiloting the Copilots: Fusing Large Language Models with Completion
Engines for Automated Program Repair
- Title(参考訳): copiloting the copilots: プログラムの自動修復のための補完エンジンを備えた大型言語モデルの使用
- Authors: Yuxiang Wei, Chunqiu Steven Xia, Lingming Zhang
- Abstract要約: Repilotは、修復プロセス中により有効なパッチを合成することによって、AIの"copilots"(すなわちLLM)とさらなる連携を行うためのフレームワークである。
広く使用されているDefects4j 1.2と2.0データセットのサブセットに対する評価は、Repilotがそれぞれ66と50のバグを修正していることを示している。
- 参考スコア(独自算出の注目度): 15.391586175711907
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: During Automated Program Repair (APR), it can be challenging to synthesize
correct patches for real-world systems in general-purpose programming
languages. Recent Large Language Models (LLMs) have been shown to be helpful
"copilots" in assisting developers with various coding tasks, and have also
been directly applied for patch synthesis. However, most LLMs treat programs as
sequences of tokens, meaning that they are ignorant of the underlying semantics
constraints of the target programming language. This results in plenty of
statically invalid generated patches, impeding the practicality of the
technique. Therefore, we propose Repilot, a framework to further copilot the AI
"copilots" (i.e., LLMs) by synthesizing more valid patches during the repair
process. Our key insight is that many LLMs produce outputs autoregressively
(i.e., token by token), resembling human writing programs, which can be
significantly boosted and guided through a Completion Engine. Repilot
synergistically synthesizes a candidate patch through the interaction between
an LLM and a Completion Engine, which 1) prunes away infeasible tokens
suggested by the LLM and 2) proactively completes the token based on the
suggestions provided by the Completion Engine. Our evaluation on a subset of
the widely-used Defects4j 1.2 and 2.0 datasets shows that Repilot fixes 66 and
50 bugs, respectively, surpassing the best-performing baseline by 14 and 16
bugs fixed. More importantly, Repilot is capable of producing more valid and
correct patches than the base LLM when given the same generation budget.
- Abstract(参考訳): 自動プログラム修復(APR)において、汎用プログラミング言語で現実世界のシステムに対して正しいパッチを合成することは困難である。
最近の大規模言語モデル(llm)は、様々なコーディングタスクの開発者を支援する上で有用な"コパイロット"であることが示されており、パッチ合成にも直接適用されている。
しかし、ほとんどのLLMはプログラムをトークンのシーケンスとして扱うため、ターゲットプログラミング言語の基本的なセマンティクス制約に無関係である。
この結果、多くの静的に無効なパッチが生まれ、この技術の実用性を妨げている。
そこで本稿では,修復プロセス中により有効なパッチを合成することにより,AIの"コパイロット"(LLM)をさらに協調するフレームワークであるRepilotを提案する。
我々の重要な洞察は、多くのLLMが自動回帰的に(トークン単位のトークン)出力を生成し、人間の記述プログラムに似ており、コンプリーションエンジンを通じて大幅に向上しガイドすることができるということである。
RepilotはLLMとCompletion Engineの相互作用を通じて、候補パッチを相乗的に合成する
1) LLMが提案する実用不可能なトークンを削除し、
2) 完了エンジンが提供する提案に基づいてトークンを積極的に完了させる。
広く使用されているDefects4j 1.2と2.0データセットのサブセットに対する評価では、Repilotがそれぞれ66と50のバグを修正し、14と16のバグを修正した。
さらに重要なことに、同じ世代の予算が与えられた場合、repilotはベースllmよりも正当で正しいパッチを生成することができる。
関連論文リスト
- Interactive and Expressive Code-Augmented Planning with Large Language Models [62.799579304821826]
大きな言語モデル(LLM)は、常識的推論と対話的な意思決定において強力な能力を示す。
近年,制御フローなどのコード・アジャセント技術を用いてLCM出力を構造化し,計画性能を向上させる技術が提案されている。
完全コード表現で動的なLEM計画手法であるREPL-Planを提案する。
論文 参考訳(メタデータ) (2024-11-21T04:23:17Z) - A Comprehensive Survey of AI-Driven Advancements and Techniques in Automated Program Repair and Code Generation [0.0]
最近27の論文がレビューされ、2つのグループに分けられた。
最初のグループは、意味的エラーの特定を含む、バグの検出と修復のための新しいメソッドで構成されている。
2つ目のグループはコード生成に精通しており、プログラミングとタスク固有のモデルのために微調整された汎用LLMの概要を提供している。
また、識別子認識トレーニング、命令レベルでの微調整、セマンティックコード構造の導入など、コード生成を改善する方法も提示されている。
論文 参考訳(メタデータ) (2024-11-12T06:47:54Z) - MarsCode Agent: AI-native Automated Bug Fixing [7.909344108948294]
MarsCode Agentは、大規模な言語モデルを利用して、ソフトウェアコードのバグを自動的に識別し、修復する新しいフレームワークである。
提案手法は, 計画, バグ再現, 障害局所化, パッチの候補生成, バリデーションといった, 高品質なバグ修正を確実にするための体系的なプロセスに従う。
以上の結果から,MarsCode Agentは既存の自動化アプローチと比較して,バグ修正において高い成功率を達成していることがわかった。
論文 参考訳(メタデータ) (2024-09-02T02:24:38Z) - Automated Program Repair: Emerging trends pose and expose problems for benchmarks [7.437224586066947]
大規模言語モデル(LLM)はソフトウェアパッチの生成に使用される。
評価と比較は、結果が有効であり、一般化する可能性が高いことを保証するために注意する必要があります。
大規模かつしばしば開示されていないトレーニングデータセットには、評価される問題が含まれている可能性がある。
論文 参考訳(メタデータ) (2024-05-08T23:09:43Z) - Revisiting Unnaturalness for Automated Program Repair in the Era of Large Language Models [9.454475517867817]
本研究では,テンプレートベースの補修技術の効率化を目的としたパッチ自然度測定,エントロピーデルタを提案する。
提案手法は,最先端の機械学習ツールよりも効果的に正パッチをランク付けできる。
論文 参考訳(メタデータ) (2024-04-23T17:12:45Z) - NExT: Teaching Large Language Models to Reason about Code Execution [50.93581376646064]
大規模言語モデル(LLM)のコードは通常、プログラムの表面テキスト形式に基づいて訓練される。
NExTは,プログラムの実行トレースを検査し,実行時の動作を判断する手法である。
論文 参考訳(メタデータ) (2024-04-23T01:46:32Z) - 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) - 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) - Conversational Automated Program Repair [10.071615423169902]
本稿では,パッチ生成と検証を対話的に交互に行うプログラム修復のための新しいパラダイムを提案する。
我々は,大規模な事前学習型言語モデルの長期的コンテキストウインドウを活用して,以前の不正なパッチの生成を回避するだけでなく,検証フィードバックを取り入れて,テスト対象のプログラムの意味をモデルが理解できるようにする。
論文 参考訳(メタデータ) (2023-01-30T19:22:36Z) - BigIssue: A Realistic Bug Localization Benchmark [89.8240118116093]
BigIssueは、現実的なバグローカライゼーションのためのベンチマークである。
実際のJavaバグと合成Javaバグの多様性を備えた一般的なベンチマークを提供する。
われわれは,バグローカライゼーションの最先端技術として,APRの性能向上と,現代の開発サイクルへの適用性の向上を期待している。
論文 参考訳(メタデータ) (2022-07-21T20:17:53Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。