論文の概要: Keep the Conversation Going: Fixing 162 out of 337 bugs for $0.42 each
using ChatGPT
- arxiv url: http://arxiv.org/abs/2304.00385v1
- Date: Sat, 1 Apr 2023 20:57:33 GMT
- ステータス: 処理完了
- システム内更新日: 2023-04-04 18:27:15.309750
- Title: Keep the Conversation Going: Fixing 162 out of 337 bugs for $0.42 each
using ChatGPT
- Title(参考訳): 会話を続ける: ChatGPTを使って、337のバグのうち162を0.42ドルで修正する
- Authors: Chunqiu Steven Xia, Lingming Zhang
- Abstract要約: 自動プログラム修復(APR)は、バグギープログラムのパッチを自動的に生成することを目的としている。
最近のAPRの研究は、最新のLarge Language Models(LLM)を活用して、APRのパッチを直接生成することに重点を置いている。
最初に完全に自動化された会話駆動型APRアプローチであるChatRepairを提案する。
- 参考スコア(独自算出の注目度): 10.071615423169902
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Automated Program Repair (APR) aims to automatically generate patches for
buggy programs. Recent APR work has been focused on leveraging modern Large
Language Models (LLMs) to directly generate patches for APR. Such LLM-based APR
tools work by first constructing an input prompt built using the original buggy
code and then queries the LLM to generate patches. While the LLM-based APR
tools are able to achieve state-of-the-art results, it still follows the
classic Generate and Validate repair paradigm of first generating lots of
patches and then validating each one afterwards. This not only leads to many
repeated patches that are incorrect but also miss the crucial information in
test failures as well as in plausible patches.
To address these limitations, we propose ChatRepair, the first fully
automated conversation-driven APR approach that interleaves patch generation
with instant feedback to perform APR in a conversational style. ChatRepair
first feeds the LLM with relevant test failure information to start with, and
then learns from both failures and successes of earlier patching attempts of
the same bug for more powerful APR. For earlier patches that failed to pass all
tests, we combine the incorrect patches with their corresponding relevant test
failure information to construct a new prompt for the LLM to generate the next
patch. In this way, we can avoid making the same mistakes. For earlier patches
that passed all the tests, we further ask the LLM to generate alternative
variations of the original plausible patches. In this way, we can further build
on and learn from earlier successes to generate more plausible patches to
increase the chance of having correct patches. While our approach is general,
we implement ChatRepair using state-of-the-art dialogue-based LLM -- ChatGPT.
By calculating the cost of accessing ChatGPT, we can fix 162 out of 337 bugs
for \$0.42 each!
- Abstract(参考訳): 自動プログラム修復(APR)は、バグギープログラムのパッチを自動的に生成することを目的としている。
最近のAPRの研究は、最新のLarge Language Models(LLM)を活用して、APRのパッチを直接生成することに重点を置いている。
LLMベースのAPRツールは、最初に元のバグコードを使って構築された入力プロンプトを構築した後、LLMに問い合わせてパッチを生成する。
LLMベースのAPRツールは最先端の結果を達成することができるが、多くのパッチを最初に生成し、その後検証する古典的なGenerate and Validate修復パラダイムに従っている。
これは、多くの繰り返しパッチにつながるだけでなく、テストの失敗や妥当なパッチにおいて重要な情報を見逃すことになる。
これらの制約に対処するため、我々はChatRepairを提案する。ChatRepairは、パッチ生成を即時フィードバックでインターリーブし、会話スタイルでAPRを実行する最初の完全に自動化された会話駆動型APRアプローチである。
ChatRepairはまずLLMに、まず最初に関連するテスト失敗情報を供給し、続いて、より強力なAPRのために、同じバグの早期パッチの試みの失敗と成功から学ぶ。
すべてのテストに合格しなかった初期のパッチについては、不正なパッチと関連するテスト失敗情報を組み合わせて、LCMが次のパッチを生成するための新しいプロンプトを構築します。
このようにして、同じ間違いを犯すことは避けることができる。
すべてのテストに合格した初期のパッチについては、LLMに元の可視パッチの代替版を生成するよう依頼します。
このようにして、初期の成功からさらなる構築と学習を行い、より妥当なパッチを生成して、正しいパッチを持つ可能性を高めることができます。
私たちのアプローチは一般的なものですが、最先端の対話ベースのLLM -- ChatGPTを使ってChatRepairを実装します。
ChatGPTにアクセスするコストを計算することで、337のバグのうち162をそれぞれ0.42ドルで修正できます!
関連論文リスト
- MQM-APE: Toward High-Quality Error Annotation Predictors with Automatic Post-Editing in LLM Translation Evaluators [53.91199933655421]
大規模言語モデル(LLM)は、機械翻訳(MT)の品質評価の裁判官として大きな可能性を秘めている。
LLM評価器によって予測されるエラーアノテーションの品質を高めるために,ユニバーサルでトレーニング不要なフレームワークである$textbfMQM-APEを導入する。
論文 参考訳(メタデータ) (2024-09-22T06:43:40Z) - Hybrid Automated Program Repair by Combining Large Language Models and Program Analysis [12.7034916462208]
自動プログラム修復(APR)は、人間の開発者のバグ修正プロセスを合理化する可能性から、大きな注目を集めている。
本稿ではGIANTREPAIRと呼ばれる革新的なAPR手法を紹介する。
この知見に基づいて、GIANTREPAIRはまず、LLM生成したパッチからパッチスケルトンを構築して、パッチ空間を閉じ込め、その後、特定のプログラムに適した高品質なパッチを生成する。
論文 参考訳(メタデータ) (2024-06-03T05:05:12Z) - ContrastRepair: Enhancing Conversation-Based Automated Program Repair
via Contrastive Test Case Pairs [23.419180504723546]
ContrastRepairは、対照的なテストペアを提供することで、会話駆動型APRを強化する、新しいAPRアプローチである。
Defects4j、QuixBugs、HumanEval-Javaなど、複数のベンチマークデータセット上でContrastRepairを評価する。
論文 参考訳(メタデータ) (2024-03-04T12:15:28Z) - A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models [50.86686630756207]
研究によると、ある文の文法的誤りは、それを他の言語に翻訳し、その語を返せば修正できる。
現在の自動プログラム修復(APR)生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,あるプログラミング言語から別のプログラミング言語,あるいは自然言語へのコード変換,そして,その逆といった,微調整ステップをバイパスし,ラウンド・トリップ変換(RTT)を用いる手法を提案する。
論文 参考訳(メタデータ) (2024-01-15T22:36:31Z) - The Earth is Flat? Unveiling Factual Errors in Large Language Models [89.94270049334479]
ChatGPTのような大規模言語モデル(LLM)は、事前学習や微調整の知識が豊富にあるため、様々な応用がある。
それにもかかわらず、医療、ジャーナリズム、教育といった重要な分野に懸念を抱き、事実と常識の誤りを引き起こす傾向にある。
LLMにおける事実不正確な事実を明らかにすることを目的とした,新しい自動テストフレームワークであるFactCheckerを紹介する。
論文 参考訳(メタデータ) (2024-01-01T14:02:27Z) - SmoothLLM: Defending Large Language Models Against Jailbreaking Attacks [99.23352758320945]
SmoothLLMは,大規模言語モデル(LLM)に対するジェイルブレーキング攻撃を軽減するために設計された,最初のアルゴリズムである。
敵が生成したプロンプトが文字レベルの変化に対して脆弱であることから、我々の防衛はまず、与えられた入力プロンプトの複数のコピーをランダムに摂動し、対応する予測を集約し、敵の入力を検出する。
論文 参考訳(メタデータ) (2023-10-05T17:01:53Z) - 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) - Allies: Prompting Large Language Model with Beam Search [107.38790111856761]
本研究では,ALIESと呼ばれる新しい手法を提案する。
入力クエリが与えられた場合、ALLIESはLLMを活用して、元のクエリに関連する新しいクエリを反復的に生成する。
元のクエリのスコープを反復的に精錬して拡張することにより、ALLIESは直接検索できない隠れた知識をキャプチャし、利用する。
論文 参考訳(メタデータ) (2023-05-24T06:16:44Z) - Conversational Automated Program Repair [10.071615423169902]
本稿では,パッチ生成と検証を対話的に交互に行うプログラム修復のための新しいパラダイムを提案する。
我々は,大規模な事前学習型言語モデルの長期的コンテキストウインドウを活用して,以前の不正なパッチの生成を回避するだけでなく,検証フィードバックを取り入れて,テスト対象のプログラムの意味をモデルが理解できるようにする。
論文 参考訳(メタデータ) (2023-01-30T19:22:36Z) - Test-based Patch Clustering for Automatically-Generated Patches Assessment [21.051652050359852]
オーバーフィッティングは、パッチが実行され、テストスイートがエラーを露呈しない場合に発生するが、パッチは、実際に基盤となるバグを修正したり、テストスイートがカバーしていない新しい欠陥を導入したりする。
私たちの研究は、プログラマがレビューしなければならない妥当なパッチの数を最小限に抑え、正しいパッチを見つけるのに必要な時間を短縮することを目的としています。
我々は、xTestClusterと呼ばれる新しい軽量なテストベースのパッチクラスタリング手法を導入し、その動的挙動に基づいてパッチをクラスタリングする。
論文 参考訳(メタデータ) (2022-07-22T13:39:27Z) - Exploring Plausible Patches Using Source Code Embeddings in JavaScript [1.3327130030147563]
オープンソースJavaScriptプロジェクトでDoc2Vecモデルをトレーニングし、10のバグに対して465のパッチを生成しました。
これらの正当なパッチと開発者修正は、元のプログラムとの類似性に基づいてランク付けされる。
これらの類似性リストを分析し、プレーンな文書埋め込みが誤分類につながる可能性があることを発見した。
論文 参考訳(メタデータ) (2021-03-31T06:57:10Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。