論文の概要: Iterative Refinement of Project-Level Code Context for Precise Code Generation with Compiler Feedback
- arxiv url: http://arxiv.org/abs/2403.16792v1
- Date: Mon, 25 Mar 2024 14:07:27 GMT
- ステータス: 処理完了
- システム内更新日: 2024-03-26 19:53:16.566622
- Title: Iterative Refinement of Project-Level Code Context for Precise Code Generation with Compiler Feedback
- Title(参考訳): コンパイラフィードバックによる精密コード生成のためのプロジェクトレベルコードコンテキストの反復的リファインメント
- Authors: Zhangqian Bi, Yao Wan, Zheng Wang, Hongyu Zhang, Batu Guan, Fangxin Lu, Zili Zhang, Yulei Sui, Xuanhua Shi, Hai Jin,
- Abstract要約: 大規模言語モデル(LLM)は、コードの自動生成において顕著な進歩を示している。
しかし、LLMベースのコード生成を実際のソフトウェアプロジェクトに組み込むことが課題となっている。
本稿では,プロジェクトレベルのコードコンテキストを反復的に洗練するProCoderという新しいアプローチを提案する。
- 参考スコア(独自算出の注目度): 29.136378191436396
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: Large language models (LLMs) have shown remarkable progress in automated code generation. Yet, incorporating LLM-based code generation into real-life software projects poses challenges, as the generated code may contain errors in API usage, class, data structure, or missing project-specific information. As much of this project-specific context cannot fit into the prompts of LLMs, we must find ways to allow the model to explore the project-level code context. To this end, this paper puts forward a novel approach, termed ProCoder, which iteratively refines the project-level code context for precise code generation, guided by the compiler feedback. In particular, ProCoder first leverages compiler techniques to identify a mismatch between the generated code and the project's context. It then iteratively aligns and fixes the identified errors using information extracted from the code repository. We integrate ProCoder with two representative LLMs, i.e., GPT-3.5-Turbo and Code Llama (13B), and apply it to Python code generation. Experimental results show that ProCoder significantly improves the vanilla LLMs by over 80% in generating code dependent on project context, and consistently outperforms the existing retrieval-based code generation baselines.
- Abstract(参考訳): 大規模言語モデル(LLM)は、コードの自動生成において顕著な進歩を示している。
しかし、LLMベースのコード生成を実際のソフトウェアプロジェクトに組み込むことは、生成されたコードがAPIの使用、クラス、データ構造、プロジェクト固有の情報の欠如を含む可能性があるため、課題となる。
プロジェクト固有のコンテキストの多くはLCMのプロンプトに適合しないので、モデルがプロジェクトレベルのコードコンテキストを探索できるようにする方法を見つけなければなりません。
そこで本研究では,ProCoderと呼ばれる新しいアプローチを提案し,コンパイラフィードバックによって導かれる,正確なコード生成のためのプロジェクトレベルのコードコンテキストを反復的に洗練する。
特にProCoderは、まずコンパイラ技術を活用して、生成されたコードとプロジェクトのコンテキストのミスマッチを特定する。
その後、コードリポジトリから抽出された情報を使用して、識別されたエラーを反復的に調整し、修正する。
我々は ProCoder を GPT-3.5-Turbo と Code Llama (13B) の2つの代表的な LLM と統合し,Python コード生成に適用する。
実験の結果,ProCoderはプロジェクトコンテキストに依存したコード生成において,バニラLLMを80%以上改善し,既存の検索ベースコード生成ベースラインを一貫して上回っていることがわかった。
関連論文リスト
- CodeGRAG: Extracting Composed Syntax Graphs for Retrieval Augmented Cross-Lingual Code Generation [60.799992690487336]
単一ラウンドのコード生成タスクにおいて,LLMの性能を向上させるための構文グラフ検索コード生成(CodeGRAG)を提案する。
CodeGRAGはLLMのコード生成能力を大幅に改善し、言語間コード生成のパフォーマンス向上も実現している。
論文 参考訳(メタデータ) (2024-05-03T02:48:55Z) - InfiCoder-Eval: Systematically Evaluating the Question-Answering Capabilities of Code Large Language Models [56.723509505549536]
InfiCoder-Evalは、コードのQAベンチマークである。
慎重に選択された234の高品質なStack Overflow質問で構成されており、15のプログラミング言語にまたがっている。
InfiCoder-Eval 上で 80 以上のコード 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) - SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - Using LLM such as ChatGPT for Designing and Implementing a RISC
Processor: Execution,Challenges and Limitations [11.07566083431614]
この論文は、解析、トークン化、エンコーディング、アテンションメカニズム、コード生成時のトークンとイテレーションのサンプリングなど、関連するステップについてレビューする。
RISCコンポーネントの生成されたコードは、FPGA基板上でテストベンチとハードウェア実装によって検証される。
論文 参考訳(メタデータ) (2024-01-18T20:14:10Z) - Function-constrained Program Synthesis [12.55507214959886]
大規模言語モデル(LLM)は、開発環境で利用可能なすべてのコードを描画することで、リアルタイムでコードを生成することができる。
現在のシステムには効果的なリカバリ方法が欠如しており、ユーザーは十分な解に到達するまで、修正されたプロンプトでモデルを反復的に再起動せざるを得ない。
提案手法は,コード生成を明示的な関数集合に制約し,自動生成されたサブ関数を通じて失敗した試行からのリカバリを可能にする。
論文 参考訳(メタデータ) (2023-11-27T02:55:34Z) - InstructCoder: Instruction Tuning Large Language Models for Code Editing [26.160498475809266]
ユーザインストラクションに基づいたコード編集にLLM(Large Language Models)を用いる方法について検討する。
InstructCoderは、汎用コード編集にLLMを適用するために設計された最初の命令チューニングデータセットである。
InstructCoderで微調整されたオープンソースのLLMは、コード編集の精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2023-10-31T10:15:35Z) - Test-Case-Driven Programming Understanding in Large Language Models for
Better Code Generation [15.166827643436346]
muFiXは、大きな言語モデル(LLM)のコード生成性能を改善する新しいプロンプト技術である。
まず、テストケース分析を利用して仕様の理解を得、自己改善プロセスを可能にする。
muFiXはさらに、提供された理解と実際の理解の間のギャップを減らす方向に向けた仕様理解を修正している。
論文 参考訳(メタデータ) (2023-09-28T02:58:07Z) - CodeT5+: Open Code Large Language Models for Code Understanding and
Generation [72.1638273937025]
大きな言語モデル (LLM) は膨大なソースコードで事前訓練されており、コードインテリジェンスにおいて顕著な進歩を遂げている。
CodeT5+は、コンポーネントモジュールを柔軟に組み合わせて、幅広い下流のコードタスクに適合させることができるコードのためのエンコーダ-デコーダLLMのファミリーである。
我々は、ゼロショット、微調整、命令調整を含む20以上のコード関連ベンチマークでCodeT5+を広範囲に評価した。
論文 参考訳(メタデータ) (2023-05-13T14:23:07Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。