論文の概要: RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation
- arxiv url: http://arxiv.org/abs/2303.12570v2
- Date: Mon, 3 Apr 2023 08:07:16 GMT
- ステータス: 処理完了
- システム内更新日: 2023-04-04 20:45:29.334033
- Title: RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation
- Title(参考訳): RepoCoder: 反復検索と生成によるリポジトリレベルのコード補完
- Authors: Fengji Zhang, Bei Chen, Yue Zhang, Jin Liu, Daoguang Zan, Yi Mao,
Jian-Guang Lou, Weizhu Chen
- Abstract要約: RepoCoderは、この課題に対処するためのシンプルで汎用的で効果的なフレームワークである。
類似性ベースのレトリバーと事前訓練されたコード言語モデルを組み込むことで、リポジトリレベルのコード補完プロセスを合理化する。
また、最新かつ高品質な現実世界リポジトリで構成される新しいベンチマークRepoEvalを提案する。
- 参考スコア(独自算出の注目度): 48.53164081849255
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: The task of repository-level code completion is to continue writing the
unfinished code based on a broader context of the repository. While for
automated code completion tools, it is difficult to utilize the useful
information scattered in different files. We propose RepoCoder, a simple,
generic, and effective framework to address the challenge. It streamlines the
repository-level code completion process by incorporating a similarity-based
retriever and a pre-trained code language model, which allows for the effective
utilization of repository-level information for code completion and grants the
ability to generate code at various levels of granularity. Furthermore,
RepoCoder utilizes a novel iterative retrieval-generation paradigm that bridges
the gap between retrieval context and the intended completion target. We also
propose a new benchmark RepoEval, which consists of the latest and high-quality
real-world repositories covering line, API invocation, and function body
completion scenarios. We test the performance of RepoCoder by using various
combinations of code retrievers and generators. Experimental results indicate
that RepoCoder significantly improves the zero-shot code completion baseline by
over 10% in all settings and consistently outperforms the vanilla
retrieval-augmented code completion approach. Furthermore, we validate the
effectiveness of RepoCoder through comprehensive analysis, providing valuable
insights for future research.
- Abstract(参考訳): リポジトリレベルのコード補完のタスクは、リポジトリのより広いコンテキストに基づいて未完成のコードを書き続けることです。
自動化されたコード補完ツールでは、異なるファイルに散在する有用な情報を利用するのは難しい。
この課題に対処するためのシンプルで汎用的で効果的なフレームワークであるRepoCoderを提案する。
類似度ベースのレトリバーと事前学習されたコード言語モデルを組み合わせて、リポジトリレベルのコード補完プロセスを合理化し、コード補完にリポジトリレベルの情報の有効利用を可能にし、様々なレベルの粒度でコードを生成する機能を提供する。
さらに、RepoCoderは、検索コンテキストと目的とする完了目標とのギャップを埋める、新しい反復検索生成パラダイムを利用する。
また、ライン、API呼び出し、ファンクションボディ補完シナリオをカバーする最新かつ高品質な現実世界リポジトリで構成される新しいベンチマークRepoEvalを提案する。
コードレトリバーとジェネレータの様々な組み合わせを用いて,レポコーダの性能をテストする。
実験の結果,レポコーダはゼロショットコード補完ベースラインを全設定で10%以上向上させ,バニラ検索によるコード補完アプローチを一貫して上回っていることがわかった。
さらに,RepoCoderの有効性を総合分析により検証し,今後の研究に有用な知見を提供する。
関連論文リスト
- Codev-Bench: How Do LLMs Understand Developer-Centric Code Completion? [60.84912551069379]
Code-Development Benchmark (Codev-Bench)は、細粒度で現実世界、リポジトリレベル、開発者中心の評価フレームワークです。
Codev-Agentは、リポジトリのクローリングを自動化し、実行環境を構築し、既存のユニットテストから動的呼び出しチェーンを抽出し、データ漏洩を避けるために新しいテストサンプルを生成するエージェントベースのシステムである。
論文 参考訳(メタデータ) (2024-10-02T09:11:10Z) - RepoGenReflex: Enhancing Repository-Level Code Completion with Verbal Reinforcement and Retrieval-Augmented Generation [7.167252304211614]
RepoGenReflexは、検索と生成プロセスを動的に最適化する汎用的で動的で効果的なフレームワークである。
Verbal Reinforcement Learning (VRL)で強化されたRetrieval-Augmented Generation (RAG)を活用することで、リポジトリレベルのコード補完に最適な結果が動的に選択できる。
RepoGenReflexは、標準のコード補完タスクよりも優れたパフォーマンスと有効性を示している。
論文 参考訳(メタデータ) (2024-09-19T23:38:59Z) - Hierarchical Context Pruning: Optimizing Real-World Code Completion with Repository-Level Pretrained Code LLMs [24.00351065427465]
本稿では,階層型コンテキストプルーニング(HCP)という戦略を提案し,高い情報量を持つコンプリートプロンプトを構築する。
HCPは関数レベルでコードリポジトリをモデル化し、コードファイル間のトポロジ的な依存関係を維持しながら、大量の無関係なコードコンテンツを削除する。
論文 参考訳(メタデータ) (2024-06-26T12:26:16Z) - CodeRAG-Bench: Can Retrieval Augment Code Generation? [78.37076502395699]
検索拡張生成を用いたコード生成の系統的,大規模な解析を行う。
まず、コード生成タスクの3つのカテゴリを含む総合的な評価ベンチマークであるCodeRAG-Benchをキュレートする。
CodeRAG-Bench上のトップパフォーマンスモデルについて、1つまたは複数のソースから検索したコンテキストを提供することにより検討する。
論文 参考訳(メタデータ) (2024-06-20T16:59:52Z) - GraphCoder: Enhancing Repository-Level Code Completion via Code Context Graph-based Retrieval and Language Model [30.625128161499195]
GraphCoderは検索拡張コード補完フレームワークである。
一般的なコード知識と、グラフベースの検索生成プロセスを通じてリポジトリ固有の知識を使用する。
コードマッチでは+6.06、識別子マッチでは+6.23となり、時間と空間は少ない。
論文 参考訳(メタデータ) (2024-06-11T06:55:32Z) - RepoHyper: Search-Expand-Refine on Semantic Graphs for Repository-Level Code Completion [12.173834895070827]
Toolは、リポジトリレベルのコード補完に関連する複雑な問題に対処するために設計されたフレームワークである。
Em Repoレベルセマンティックグラフ(RSG)は、コードリポジトリの広大なコンテキストをカプセル化する、新しいセマンティックグラフ構造である。
評価の結果,ツールがリポジトリレベルのコード補完において,既存のテクニックを著しく上回っていることが明らかとなった。
論文 参考訳(メタデータ) (2024-03-10T05:10:34Z) - LongCoder: A Long-Range Pre-trained Language Model for Code Completion [56.813974784131624]
LongCoderは自己アテンションにスライディングウィンドウ機構を採用し、グローバルアクセス可能なトークンを2種類導入している。
ブリッジトークンは入力シーケンス全体を通して挿入され、ローカル情報を集約し、グローバルな相互作用を促進する。
メモリトークンは、後で呼び出され、記憶する必要がある重要なステートメントをハイライトするために含まれます。
論文 参考訳(メタデータ) (2023-06-26T17:59:24Z) - Generation-Augmented Query Expansion For Code Retrieval [51.20943646688115]
本稿では,次世代のクエリ拡張フレームワークを提案する。
人間の検索プロセスにインスパイアされた – 検索前に回答をスケッチする。
CodeSearchNetベンチマークで、最先端の新たな結果を得る。
論文 参考訳(メタデータ) (2022-12-20T23:49:37Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。