論文の概要: RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation
- arxiv url: http://arxiv.org/abs/2303.12570v3
- Date: Fri, 20 Oct 2023 15:21:51 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-24 12:54:45.548369
- Title: RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation
- Title(参考訳): RepoCoder: 反復検索と生成によるリポジトリレベルのコード補完
- Authors: Fengji Zhang, Bei Chen, Yue Zhang, Jacky Keung, Jin Liu, Daoguang Zan,
Yi Mao, Jian-Guang Lou, Weizhu Chen
- Abstract要約: RepoCoderはリポジトリレベルのコード補完プロセスを合理化するフレームワークである。
類似性ベースのレトリバーと、事前訓練されたコード言語モデルが組み込まれている。
バニラ検索で拡張されたコード補完アプローチよりも一貫して優れています。
- 参考スコア(独自算出の注目度): 96.75695811963242
- 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 in an iterative
retrieval-generation pipeline. RepoCoder makes effective utilization of
repository-level information for code completion and has the ability to
generate code at various levels of granularity. Moreover, we 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. Experimental results indicate that RepoCoder significantly improves
the In-File 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. Our source code and
benchmark are publicly available:
https://github.com/microsoft/CodeT/tree/main/RepoCoder
- Abstract(参考訳): リポジトリレベルのコード補完のタスクは、リポジトリのより広いコンテキストに基づいて未完成のコードを書き続けることです。
自動化されたコード補完ツールでは、異なるファイルに散在する有用な情報を利用するのは難しい。
この課題に対処するためのシンプルで汎用的で効果的なフレームワークであるRepoCoderを提案する。
類似性ベースのレトリバーと事前学習されたコード言語モデルを反復的検索生成パイプラインに組み込むことで、リポジトリレベルのコード補完プロセスを合理化する。
repocoderはレポジトリレベルの情報をコード補完に効果的に利用し、様々なレベルの粒度でコードを生成することができる。
さらに,ライン,API呼び出し,関数本体補完シナリオをカバーする最新かつ高品質な実世界のリポジトリで構成される新しいベンチマークRepoEvalを提案する。
実験の結果、repocoderはファイル内補完ベースラインを全設定で10%以上改善し、バニラ検索によるコード補完アプローチを一貫して上回っていることが示された。
さらに,RepoCoderの有効性を総合分析により検証し,今後の研究に有用な知見を提供する。
ソースコードとベンチマークが公開されている。 https://github.com/microsoft/CodeT/tree/main/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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。