論文の概要: 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%向上した。
関連論文リスト
- CoIR: A Comprehensive Benchmark for Code Information Retrieval Models [56.691926887209895]
textbfInformation textbfRetrieval Benchmark(textbfInformation textbfRetrieval Benchmark)は,コード検索機能の評価に特化して設計された,堅牢で包括的なベンチマークである。
名前は、Textbftenを巧みにキュレートしたコードデータセットから成り、textbfs7の異なるドメインにまたがる、textbfeight特有の検索タスクにまたがる。
我々は9つの広く使われている検索モデルを名前を用いて評価し、最先端のシステムであってもコード検索タスクの実行に重大な困難を見出した。
論文 参考訳(メタデータ) (2024-07-03T07:58:20Z) - Hierarchical Context Pruning: Optimizing Real-World Code Completion with Repository-Level Pretrained Code LLMs [24.00351065427465]
本稿では,階層型コンテキストプルーニング(HCP)という戦略を提案し,高い情報量を持つコンプリートプロンプトを構築する。
HCPは関数レベルでコードリポジトリをモデル化し、コードファイル間のトポロジ的な依存関係を維持しながら、大量の無関係なコードコンテンツを削除する。
論文 参考訳(メタデータ) (2024-06-26T12:26:16Z) - REPOEXEC: Evaluate Code Generation with a Repository-Level Executable Benchmark [5.641402231731082]
RepoExecは、リポジトリレベルのスケールでコード生成を評価するための新しいベンチマークである。
RepoExecは、実行可能性、カバレッジ率の高い自動テストケース生成による機能的正しさ、コードを正確に生成するクロスファイルコンテキストの3つの主な側面に焦点を当てている。
論文 参考訳(メタデータ) (2024-06-17T10:45:22Z) - 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) - Repoformer: Selective Retrieval for Repository-Level Code Completion [30.706277772743615]
検索強化生成(RAG)の最近の進歩は、リポジトリレベルのコード補完の新たな時代が始まった。
本稿では,不要な場合の検索を回避するため,選択的なRAGフレームワークを提案する。
我々のフレームワークは、異なる世代モデル、レトリバー、プログラミング言語に対応できることを示します。
論文 参考訳(メタデータ) (2024-03-15T06:59:43Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。