論文の概要: Chain of Targeted Verification Questions to Improve the Reliability of Code Generated by LLMs
- arxiv url: http://arxiv.org/abs/2405.13932v1
- Date: Wed, 22 May 2024 19:02:50 GMT
- ステータス: 処理完了
- システム内更新日: 2024-05-24 20:33:38.393825
- Title: Chain of Targeted Verification Questions to Improve the Reliability of Code Generated by LLMs
- Title(参考訳): LLMによるコードの信頼性向上のための目標検証質問の連鎖
- Authors: Sylvain Kouemo Ngassom, Arghavan Moradi Dakhel, Florian Tambon, Foutse Khomh,
- Abstract要約: LLMが生成するコードの信頼性向上を目的とした自己補充手法を提案する。
当社のアプローチは,初期コード内の潜在的なバグを特定するために,対象とする検証質問(VQ)に基づいています。
本手法は,LLMをターゲットとするVQと初期コードで再プロンプトすることで,潜在的なバグの修復を試みる。
- 参考スコア(独自算出の注目度): 10.510325069289324
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: LLM-based assistants, such as GitHub Copilot and ChatGPT, have the potential to generate code that fulfills a programming task described in a natural language description, referred to as a prompt. The widespread accessibility of these assistants enables users with diverse backgrounds to generate code and integrate it into software projects. However, studies show that code generated by LLMs is prone to bugs and may miss various corner cases in task specifications. Presenting such buggy code to users can impact their reliability and trust in LLM-based assistants. Moreover, significant efforts are required by the user to detect and repair any bug present in the code, especially if no test cases are available. In this study, we propose a self-refinement method aimed at improving the reliability of code generated by LLMs by minimizing the number of bugs before execution, without human intervention, and in the absence of test cases. Our approach is based on targeted Verification Questions (VQs) to identify potential bugs within the initial code. These VQs target various nodes within the Abstract Syntax Tree (AST) of the initial code, which have the potential to trigger specific types of bug patterns commonly found in LLM-generated code. Finally, our method attempts to repair these potential bugs by re-prompting the LLM with the targeted VQs and the initial code. Our evaluation, based on programming tasks in the CoderEval dataset, demonstrates that our proposed method outperforms state-of-the-art methods by decreasing the number of targeted errors in the code between 21% to 62% and improving the number of executable code instances to 13%.
- Abstract(参考訳): GitHub CopilotやChatGPTといったLLMベースのアシスタントは、プロンプトと呼ばれる自然言語記述で記述されたプログラミングタスクを満たすコードを生成する可能性がある。
これらのアシスタントの幅広いアクセシビリティにより、さまざまなバックグラウンドを持つユーザは、コードを生成し、それをソフトウェアプロジェクトに組み込むことができる。
しかし、研究によると、LLMによって生成されたコードはバグを起こしやすく、タスク仕様のさまざまなコーナーケースを見逃してしまう可能性がある。
このようなバグの多いコードをユーザに提示することは、LDMベースのアシスタントの信頼性と信頼性に影響を与える可能性がある。
さらに、特にテストケースが利用できない場合には、ユーザがコードに存在するバグを検出して修正する必要がある。
本研究では,LLMが生成するコードの信頼性向上を目的とした自己補充手法を提案する。
当社のアプローチは,初期コード内の潜在的なバグを特定するために,対象とする検証質問(VQ)に基づいています。
これらのVQは、初期コードの抽象構文木(AST)内の様々なノードをターゲットにしており、LLM生成コードで一般的に見られる特定のタイプのバグパターンをトリガーする可能性がある。
最後に,LLMをターゲットとするVQと初期コードで再プロンプトすることで,潜在的なバグの修復を試みる。
提案手法は,CoderEvalデータセットのプログラミングタスクに基づいて,コード中のターゲットエラー数を21%から62%に減らし,実行可能コードインスタンス数を13%に改善することで,最先端メソッドよりも優れていることを示す。
関連論文リスト
- RGD: Multi-LLM Based Agent Debugger via Refinement and Generation Guidance [0.6062751776009752]
大規模言語モデル(LLM)は、コード生成タスクにおいて驚くべきポテンシャルを示しています。
LLMはタスク記述に基づいてコードを生成することができるが、精度は限られている。
コード生成と自動デバッグのためのLLMエージェントの新しいアーキテクチャ:Refinement and Guidancebug (RGD)を紹介する。
RGDはコード生成タスクを複数のステップに分割し、より明確なワークフローを確保し、自己回帰とフィードバックに基づいた反復的なコード改善を可能にする。
論文 参考訳(メタデータ) (2024-10-02T05:07:02Z) - Understanding Defects in Generated Codes by Language Models [0.669087470775851]
本研究では,大規模言語モデルによって生成されたコードスニペットの367の欠陥を分類,解析する。
エラーカテゴリは、LLMが頻繁に失敗する重要な領域を示し、目標とする改善の必要性を強調している。
本稿では,スクラッチパッド・プロンプト・プログラム・オブ・ソート・プロンプト・チェーン・オブ・ソート・プロンプト・チェーン・オブ・ソート・プロンプト・ストラクテッド・オブ・ソート・プロンプト・オブ・ソート・プロンプト・プログラム・オブ・ソート・プロンプト・プログラム・オブ・ソート・プロンプト・プログラム・オブ・ソート・プロンプト・オブ・ソート・プロンプト・プログラム・オブ・ソート・プロンプト・オブ・ソート・プロンプト・プログラム・オブ・ソート・プロンプト・プログラム・オブ・オブ・ソート・プロンプト・プロンプト・アンド・ストラクテッド・オブ・フォーンティング(Structued Chain-of-Thought Prompting)の5つの迅速な技術技術
論文 参考訳(メタデータ) (2024-08-23T21:10:09Z) - What's Wrong with Your Code Generated by Large Language Models? An Extensive Study [80.18342600996601]
大規模言語モデル(LLM)は、標準解に比べて短いがより複雑なコードを生成する。
3つのカテゴリと12のサブカテゴリを含む誤ったコードに対するバグの分類を開発し、一般的なバグタイプに対する根本原因を分析する。
そこで本研究では,LLMがバグタイプやコンパイラフィードバックに基づいて生成したコードを批判し,修正することのできる,自己批判を導入した新たな学習自由反復手法を提案する。
論文 参考訳(メタデータ) (2024-07-08T17:27:17Z) - VersiCode: Towards Version-controllable Code Generation [58.82709231906735]
大規模言語モデル(LLM)は、コード生成において大きな進歩を遂げていますが、既存の研究は、ソフトウェア開発の動的な性質を説明できません。
バージョン別コード補完(VSCC)とバージョン別コードマイグレーション(VACM)の2つの新しいタスクを提案する。
VersiCodeについて広範な評価を行い、バージョン管理可能なコード生成が確かに重要な課題であることを示した。
論文 参考訳(メタデータ) (2024-06-11T16:15:06Z) - Validating LLM-Generated Programs with Metamorphic Prompt Testing [8.785973653167112]
大規模言語モデル(LLM)は、ソフトウェア開発ライフサイクルにますます統合されています。
本稿では,これらの課題に対処するため,メタモルフィック・プロンプト・テストと呼ばれる新しい手法を提案する。
我々のHumanEvalに対する評価は,GPT-4が生成する誤プログラムの75%を,偽陽性率8.6%で検出できることを示す。
論文 参考訳(メタデータ) (2024-06-11T00:40:17Z) - A Comprehensive Study of the Capabilities of Large Language Models for Vulnerability Detection [9.422811525274675]
大規模言語モデル(LLM)は、コード生成やその他のソフトウェアエンジニアリングタスクに大きな可能性を実証しています。
脆弱性検出は、ソフトウェアシステムのセキュリティ、完全性、信頼性を維持する上で非常に重要である。
最近の研究は、ジェネリックプロンプト技術を用いた脆弱性検出にLLMを適用しているが、このタスクの能力とそれらが犯すエラーの種類は未だ不明である。
論文 参考訳(メタデータ) (2024-03-25T21:47:36Z) - Bugs in Large Language Models Generated Code: An Empirical Study [12.625305075672456]
コード用の大規模言語モデル(LLM)が最近注目を集めている。
人間書きのコードと同様、LLM生成コードはバグを起こしやすい。
本稿では,3つのLLMを用いて生成されたコードから収集した333個のバグのサンプルについて検討する。
論文 参考訳(メタデータ) (2024-03-13T20:12:01Z) - InfiBench: Evaluating the Question-Answering Capabilities of Code Large Language Models [56.723509505549536]
InfiBenchは、私たちの知識に合ったコードのための、最初の大規模フリーフォーム質問回答(QA)ベンチマークです。
慎重に選択された234の高品質なStack Overflow質問で構成されており、15のプログラミング言語にまたがっている。
InfiBench上で100以上の最新のコードLLMに対して,系統的評価を行い,新しい知見と洞察に富んだ結果を得た。
論文 参考訳(メタデータ) (2024-03-11T02:06:30Z) - StepCoder: Improve Code Generation with Reinforcement Learning from
Compiler Feedback [58.20547418182074]
2つの主要コンポーネントからなるコード生成の新しいフレームワークであるStepCoderを紹介します。
CCCSは、長いシーケンスのコード生成タスクをCurriculum of Code Completion Subtaskに分割することで、探索課題に対処する。
FGOは、未実行のコードセグメントをマスクすることでのみモデルを最適化し、Fine-Grained Optimizationを提供する。
提案手法は,出力空間を探索し,対応するベンチマークにおいて最先端の手法より優れた性能を発揮する。
論文 参考訳(メタデータ) (2024-02-02T13:14:31Z) - Code Prompting Elicits Conditional Reasoning Abilities in Text+Code LLMs [65.2379940117181]
自然言語の問題をコードに変換する一連のプロンプトであるコードプロンプトを導入します。
コードプロンプトは複数のLLMに対して高速に向上することがわかった。
GPT 3.5を解析した結果,入力問題のコードフォーマッティングが性能向上に不可欠であることが判明した。
論文 参考訳(メタデータ) (2024-01-18T15:32:24Z) - If LLM Is the Wizard, Then Code Is the Wand: A Survey on How Code
Empowers Large Language Models to Serve as Intelligent Agents [81.60906807941188]
大型言語モデル(LLM)は、自然言語と形式言語(コード)の組み合わせに基づいて訓練される
コードは、標準構文、論理一貫性、抽象化、モジュール性を備えた高レベルの目標を実行可能なステップに変換する。
論文 参考訳(メタデータ) (2024-01-01T16:51:20Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。