論文の概要: Dataflow-Guided Retrieval Augmentation for Repository-Level Code Completion
- arxiv url: http://arxiv.org/abs/2405.19782v1
- Date: Thu, 30 May 2024 07:48:00 GMT
- ステータス: 処理完了
- システム内更新日: 2024-05-31 15:38:52.416890
- Title: Dataflow-Guided Retrieval Augmentation for Repository-Level Code Completion
- Title(参考訳): リポジトリレベルコード補完のためのデータフロー誘導型検索拡張
- Authors: Wei Cheng, Yuhan Wu, Wei Hu,
- Abstract要約: 本稿では,リポジトリレベルのコード補完のためのデータフロー誘導型検索拡張手法DraCoを提案する。
実験では、DraCoの精度と適用効率が向上し、コード精度が3.43%向上し、識別子F1スコアが平均3.27%向上した。
- 参考スコア(独自算出の注目度): 17.4397495929138
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Recent years have witnessed the deployment of code language models (LMs) in various code intelligence tasks such as code completion. Yet, it is challenging for pre-trained LMs to generate correct completions in private repositories. Previous studies retrieve cross-file context based on import relations or text similarity, which is insufficiently relevant to completion targets. In this paper, we propose a dataflow-guided retrieval augmentation approach, called DraCo, for repository-level code completion. DraCo parses a private repository into code entities and establishes their relations through an extended dataflow analysis, forming a repo-specific context graph. Whenever triggering code completion, DraCo precisely retrieves relevant background knowledge from the repo-specific context graph and generates well-formed prompts to query code LMs. Furthermore, we construct a large Python dataset, ReccEval, with more diverse completion targets. Our experiments demonstrate the superior accuracy and applicable efficiency of DraCo, improving code exact match by 3.43% and identifier F1-score by 3.27% on average compared to the state-of-the-art approach.
- Abstract(参考訳): 近年、コード補完のような様々なコードインテリジェンスタスクにコード言語モデル(LM)が配備されているのが目撃されている。
しかし、事前訓練されたLMがプライベートリポジトリで正しい補完を生成することは困難である。
これまでの研究では、インポート関係やテキストの類似性に基づいてファイル間のコンテキストを検索していた。
本稿では,リポジトリレベルのコード補完のためのデータフロー誘導型検索拡張手法DraCoを提案する。
DraCoはプライベートリポジトリをコードエンティティに解析し、拡張データフロー分析を通じて関係を確立することで、リポジトリ固有のコンテキストグラフを形成する。
コード補完をトリガーするたびに、DraCoはリポジトリ固有のコンテキストグラフから関連するバックグラウンド知識を正確に取得し、コードLMをクエリする適切なプロンプトを生成する。
さらに、より多様な補完対象を持つ大規模なPythonデータセットReccEvalを構築します。
実験では,DraCoの精度と適用効率が向上し,コード精度が3.43%向上し,識別子F1スコアが3.27%向上した。
関連論文リスト
- Contextualized Data-Wrangling Code Generation in Computational Notebooks [131.26365849822932]
我々は、マルチモーダルなコンテキスト依存を明確にしたデータラングリングコード生成例をマイニングするために、CoCoMineという自動アプローチを提案する。
コンテクスト化されたデータラングリングコード生成のための58,221のサンプルを含むデータセットであるCoCoNoteをNotebooksで構築する。
実験結果は、データラングリングコード生成にデータコンテキストを組み込むことの重要性を示す。
論文 参考訳(メタデータ) (2024-09-20T14:49:51Z) - RLCoder: Reinforcement Learning for Repository-Level Code Completion [39.38066628941757]
Repositoryレベルのコード補完は、指定されたリポジトリのコンテキスト内で未完成のコードスニペットのためのコードを生成することを目的としている。
既存のアプローチは主に、入力シーケンス長の制限による検索強化された生成戦略に依存している。
ラベル付きデータを必要とせずに、検索者がコード補完に有用なコンテンツを取得することができる新しい強化学習フレームワークであるRLCoderを提案する。
論文 参考訳(メタデータ) (2024-07-28T12:47:20Z) - Hierarchical Context Pruning: Optimizing Real-World Code Completion with Repository-Level Pretrained Code LLMs [24.00351065427465]
本稿では,階層型コンテキストプルーニング(HCP)という戦略を提案し,高い情報量を持つコンプリートプロンプトを構築する。
HCPは関数レベルでコードリポジトリをモデル化し、コードファイル間のトポロジ的な依存関係を維持しながら、大量の無関係なコードコンテンツを削除する。
論文 参考訳(メタデータ) (2024-06-26T12:26:16Z) - 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) - CrossCodeEval: A Diverse and Multilingual Benchmark for Cross-File Code
Completion [86.01508183157613]
CrossCodeEvalは4つの人気のあるプログラミング言語の様々な現実世界、オープンソース、パーミッシブライセンスのリポジトリ上に構築されている。
関連するクロスファイルコンテキストが欠如している場合、CrossCodeEvalは極めて困難であることを示す。
また、コードレトリバーの能力を測定するためにCrossCodeEvalが使えることも示しています。
論文 参考訳(メタデータ) (2023-10-17T13:18:01Z) - RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation [96.75695811963242]
RepoCoderはリポジトリレベルのコード補完プロセスを合理化するフレームワークである。
類似性ベースのレトリバーと、事前訓練されたコード言語モデルが組み込まれている。
バニラ検索で拡張されたコード補完アプローチよりも一貫して優れています。
論文 参考訳(メタデータ) (2023-03-22T13:54:46Z) - CodeExp: Explanatory Code Document Generation [94.43677536210465]
既存のコード・トゥ・テキスト生成モデルは、コードの高レベルな要約のみを生成する。
我々は、コードのための高品質な説明記述の基準を特定するために、人間の研究を行う。
タスクのための多段階微調整戦略とベースラインモデルを提案する。
論文 参考訳(メタデータ) (2022-11-25T18:05:44Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - CoSQA: 20,000+ Web Queries for Code Search and Question Answering [63.92224685262063]
CoSQAデータセットには、自然言語クエリとコードのペア用の20,604ラベルが含まれている。
本稿では,クエリコードマッチングを強化するために,CoCLRと呼ばれる対照的な学習手法を提案する。
我々は,CodeXGLUEを同じCodeBERTモデルで評価し,CoSQAのトレーニングにより,コード質問応答の精度が5.1%向上したことを示す。
論文 参考訳(メタデータ) (2021-05-27T15:37:21Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。