論文の概要: ContextModule: Improving Code Completion via Repository-level Contextual Information
- arxiv url: http://arxiv.org/abs/2412.08063v1
- Date: Wed, 11 Dec 2024 03:15:49 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-12-12 14:04:15.643158
- Title: ContextModule: Improving Code Completion via Repository-level Contextual Information
- Title(参考訳): ContextModule:リポジトリレベルのコンテキスト情報によるコード補完の改善
- Authors: Zhanming Guan, Junlin Liu, Jierui Liu, Chao Peng, Dexin Liu, Ningyuan Sun, Bo Jiang, Wenchao Li, Jie Liu, Hang Zhu,
- Abstract要約: ContextModuleは生成されたコードの関連性と精度を改善する。
我々は,実世界のコーディング環境における遅延制約を満たすために,インデックスキャッシングなどの性能最適化を実装した。
- 参考スコア(独自算出の注目度): 11.459065573651348
- License:
- Abstract: Large Language Models (LLMs) have demonstrated impressive capabilities in code completion tasks, where they assist developers by predicting and generating new code in real-time. However, existing LLM-based code completion systems primarily rely on the immediate context of the file being edited, often missing valuable repository-level information, user behaviour and edit history that could improve suggestion accuracy. Additionally, challenges such as efficiently retrieving relevant code snippets from large repositories, incorporating user behavior, and balancing accuracy with low-latency requirements in production environments remain unresolved. In this paper, we propose ContextModule, a framework designed to enhance LLM-based code completion by retrieving and integrating three types of contextual information from the repository: user behavior-based code, similar code snippets, and critical symbol definitions. By capturing user interactions across files and leveraging repository-wide static analysis, ContextModule improves the relevance and precision of generated code. We implement performance optimizations, such as index caching, to ensure the system meets the latency constraints of real-world coding environments. Experimental results and industrial practise demonstrate that ContextModule significantly improves code completion accuracy and user acceptance rates.
- Abstract(参考訳): 大きな言語モデル(LLM)は、コード補完タスクにおいて印象的な機能を示し、開発者が新しいコードをリアルタイムで予測し、生成することを支援する。
しかし、既存のLLMベースのコード補完システムは、主に編集されるファイルの即時コンテキストに依存しており、しばしば貴重なリポジトリレベルの情報、ユーザの振る舞い、そして提案の正確性を改善する編集履歴を欠いている。
さらに、大規模なリポジトリから関連コードスニペットを効率的に取得したり、ユーザの振る舞いを取り入れたり、運用環境の低レイテンシ要求と正確なバランスをとるといった課題も未解決のままである。
本稿では,LLMベースのコード補完機能を実現するためのフレームワークであるContextModuleを提案する。このフレームワークは,ユーザの振る舞いに基づくコード,類似のコードスニペット,クリティカルシンボル定義という,3種類のコンテキスト情報をリポジトリから取得,統合することで,LCMベースのコード補完機能を実現する。
ファイル間のユーザインタラクションをキャプチャし、リポジトリ全体の静的解析を活用することで、ContextModuleは生成されたコードの関連性と精度を向上させる。
我々は,実世界のコーディング環境における遅延制約を満たすために,インデックスキャッシングなどの性能最適化を実装した。
実験結果と工業的実践により、ContextModuleはコード補完精度とユーザ受け入れ率を大幅に改善することが示された。
関連論文リスト
- Codev-Bench: How Do LLMs Understand Developer-Centric Code Completion? [60.84912551069379]
Code-Development Benchmark (Codev-Bench)は、細粒度で現実世界、リポジトリレベル、開発者中心の評価フレームワークです。
Codev-Agentは、リポジトリのクローリングを自動化し、実行環境を構築し、既存のユニットテストから動的呼び出しチェーンを抽出し、データ漏洩を避けるために新しいテストサンプルを生成するエージェントベースのシステムである。
論文 参考訳(メタデータ) (2024-10-02T09:11:10Z) - Hierarchical Context Pruning: Optimizing Real-World Code Completion with Repository-Level Pretrained Code LLMs [24.00351065427465]
本稿では,階層型コンテキストプルーニング(HCP)という戦略を提案し,高い情報量を持つコンプリートプロンプトを構築する。
HCPは関数レベルでコードリポジトリをモデル化し、コードファイル間のトポロジ的な依存関係を維持しながら、大量の無関係なコードコンテンツを削除する。
論文 参考訳(メタデータ) (2024-06-26T12:26:16Z) - On the Impacts of Contexts on Repository-Level Code Generation [5.641402231731082]
リポジトリレベルのコード生成を評価するために設計された新しいベンチマークである textbfmethodnamews を提案する。
実行可能性、包括的なテストケース生成による機能的正当性、ファイル間のコンテキストの正確な利用という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) - On The Importance of Reasoning for Context Retrieval in Repository-Level Code Editing [82.96523584351314]
我々は、コンテキスト検索のタスクをリポジトリレベルのコード編集パイプラインの他のコンポーネントと分離する。
我々は、推論が収集された文脈の精度を向上させるのに役立っているが、それでもその十分性を識別する能力は欠如していると結論づける。
論文 参考訳(メタデータ) (2024-06-06T19:44:17Z) - CodeEditorBench: Evaluating Code Editing Capability of Large Language Models [49.387195629660994]
コードのための大規模言語モデル(LLM)は急速に進化しており、コード編集が重要な機能として現れている。
コード編集タスクにおけるLLMの性能を厳格に評価するための評価フレームワークであるCodeEditorBenchを紹介する。
5つのソースからさまざまなコーディング課題やシナリオをキュレートし、さまざまなプログラミング言語、複雑性レベル、編集タスクをカバーしています。
論文 参考訳(メタデータ) (2024-04-04T15:49:49Z) - Enhancing LLM-Based Coding Tools through Native Integration of
IDE-Derived Static Context [41.91246546266515]
我々は,統合開発環境(IDE)がリポジトリレベルのコード補完のために,直接的かつ正確かつリアルタイムなクロスファイル情報を提供できると主張している。
本稿では,IDEネイティブな静的コンテキストをクロスコンテキスト構築に利用し,自己再定義のための診断結果を生成するフレームワークを提案する。
論文 参考訳(メタデータ) (2024-02-06T01:59:41Z) - RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation [96.75695811963242]
RepoCoderはリポジトリレベルのコード補完プロセスを合理化するフレームワークである。
類似性ベースのレトリバーと、事前訓練されたコード言語モデルが組み込まれている。
バニラ検索で拡張されたコード補完アプローチよりも一貫して優れています。
論文 参考訳(メタデータ) (2023-03-22T13:54:46Z) - CoCoMIC: Code Completion By Jointly Modeling In-file and Cross-file
Context [82.88371379927112]
予め訓練されたコード LM 上で,ファイル内コンテキストとファイル内コンテキストを協調的に学習するための,クロスファイルコンテキストを組み込んだフレームワークを提案する。
CoCoMICは既存のコードLMを33.94%の精度で改善し、クロスファイルコンテキストが提供されるとコード補完のための識別子マッチングが28.69%増加した。
論文 参考訳(メタデータ) (2022-12-20T05:48:09Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。