論文の概要: Copiloting the Copilots: Fusing Large Language Models with Completion
Engines for Automated Program Repair
- arxiv url: http://arxiv.org/abs/2309.00608v3
- Date: Wed, 8 Nov 2023 22:24:26 GMT
- ステータス: 処理完了
- システム内更新日: 2023-11-10 17:44:58.969528
- 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要約: 大規模言語モデル(LLM)は、様々なコーディングタスクを開発者を支援する上で、"コパイロット"として有用であることが示されている。
修復プロセス中により有効なパッチを合成することにより、AIの"コパイロット"(すなわち、LLM)をさらに協調する一般的なコード生成フレームワークであるRepilotを提案する。
広く使用されているDefects4j 1.2と2.0データセットのサブセットに対する評価では、Repilotは、それぞれ27%と47%のバグを修正することで、最先端の技術よりも優れています。
- 参考スコア(独自算出の注目度): 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 general code generation 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
outperforms state-of-the-art techniques by fixing 27% and 47% more bugs,
respectively. Moreover, Repilot produces more valid and correct patches than
the base LLM with the same budget. While we focus on leveraging Repilot for APR
in this work, the overall approach is also generalizable to other code
generation tasks.
- Abstract(参考訳): 自動プログラム修復(APR)において、汎用プログラミング言語で現実世界のシステムに対して正しいパッチを合成することは困難である。
最近の大規模言語モデル(llm)は、様々なコーディングタスクの開発者を支援する上で有用な"コパイロット"であることが示されており、パッチ合成にも直接適用されている。
しかし、ほとんどのLLMはプログラムをトークンのシーケンスとして扱うため、ターゲットプログラミング言語の基本的なセマンティクス制約に無関係である。
この結果、多くの静的に無効なパッチが生まれ、この技術の実用性を妨げている。
そこで本稿では,修復プロセス中により有効なパッチを合成することにより,AIの"コパイロット"(すなわちLLM)をさらに協調する汎用コード生成フレームワークであるRepilotを提案する。
我々の重要な洞察は、多くのLLMが自動回帰的に(トークン単位のトークン)出力を生成し、人間の記述プログラムに似ており、コンプリーションエンジンを通じて大幅に向上しガイドすることができるということである。
RepilotはLLMとCompletion Engineの相互作用を通じて、候補パッチを相乗的に合成する
1) LLMが提案する実用不可能なトークンを削除し、
2) 完了エンジンが提供する提案に基づいてトークンを積極的に完了させる。
広く使用されているDefects4j 1.2と2.0データセットのサブセットに対する評価では、Repilotは、それぞれ27%と47%のバグを修正することで、最先端の技術よりも優れています。
さらに、Repilotは同じ予算でベースLLMよりも有効で正しいパッチを生成する。
この作業ではRepilotをAPRに活用することに重点を置いていますが、全体的なアプローチは他のコード生成タスクにも一般化可能です。
関連論文リスト
- 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。