論文の概要: 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
関連論文リスト
- RepoHyper: Better Context Retrieval Is All You Need for Repository-Level
Code Completion [13.299040060528982]
RepoHyperは、リポジトリレベルのコード補完に関連する複雑な問題に対処するために設計されたフレームワークである。
RepoHyperの中心はRepoレベルのセマンティックグラフ(RSG)であり、コードリポジトリの広大なコンテキストをカプセル化する新しいセマンティックグラフ構造である。
論文 参考訳(メタデータ) (2024-03-10T05:10:34Z) - RepoAgent: An LLM-Powered Open-Source Framework for Repository-level
Code Documentation Generation [79.83270415843857]
コードドキュメンテーションを積極的に生成、保守、更新することを目的とした、大規模な言語モデルによるオープンソースフレームワークであるRepoAgentを紹介します。
RepoAgentは高品質なリポジトリレベルのドキュメントを生成するのに優れています。
論文 参考訳(メタデータ) (2024-02-26T15:39:52Z) - A Review of Repository Level Prompting for LLMs [0.0]
大規模言語モデル(LLM)は、HumanEvalベンチマークで94.6%の解決率を達成するなど、顕著な成功を収めている。
GitHub CopilotやTab Nineといったリポジトリレベルのインラインコード補完ツールの商用化が進んでいる。
本稿では,個々のコーディング問題からリポジトリスケールソリューションへの移行について述べる。
論文 参考訳(メタデータ) (2023-12-15T00:34:52Z) - 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) - Repository-Level Prompt Generation for Large Language Models of Code [28.98699307030983]
本稿では,提案手法を用いてサンプル固有のプロンプトを生成するフレームワークを提案する。
プロンプトプロポーザルはリポジトリ全体からコンテキストを取ります。
我々は,Google Codeアーカイブから取得したコードリポジトリを用いて,単行コード自動補完のタスクについて実験を行った。
論文 参考訳(メタデータ) (2022-06-26T10:51:25Z) - Enhancing Semantic Code Search with Multimodal Contrastive Learning and
Soft Data Augmentation [50.14232079160476]
コード検索のためのマルチモーダルコントラスト学習とソフトデータ拡張を用いた新しい手法を提案する。
我々は,6つのプログラミング言語を用いた大規模データセットにおけるアプローチの有効性を評価するために,広範囲な実験を行った。
論文 参考訳(メタデータ) (2022-04-07T08:49:27Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。