論文の概要: Deep Learning-based Code Completion: On the Impact on Performance of Contextual Information
- arxiv url: http://arxiv.org/abs/2501.05062v1
- Date: Thu, 09 Jan 2025 08:34:34 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-01-10 14:00:09.089483
- Title: Deep Learning-based Code Completion: On the Impact on Performance of Contextual Information
- Title(参考訳): 深層学習に基づくコード補完 : 文脈情報の性能への影響
- Authors: Matteo Ciniselli, Luca Pascarella, Gabriele Bavota,
- Abstract要約: 本稿では,DLベースのコード補完技術の性能が,状況によってどう影響するかを実証研究する。
追加のコンテキスト情報は、DLベースのコード補完のパフォーマンス向上に役立つ。
- 参考スコア(独自算出の注目度): 14.79590382350231
- License:
- Abstract: Code completion aims at speeding up code writing by recommending to developers the next tokens they are likely to type. Deep Learning (DL) models pushed the boundaries of code completion by redefining what these coding assistants can do: We moved from predicting few code tokens to automatically generating entire functions. One important factor impacting the performance of DL-based code completion techniques is the context provided as input. With "context" we refer to what the model knows about the code to complete. In a simple scenario, the DL model might be fed with a partially implemented function to complete. In this case, the context is represented by the incomplete function and, based on it, the model must generate a prediction. It is however possible to expand such a context to include additional information, like the whole source code file containing the function to complete, which could be useful to boost the prediction performance. In this work, we present an empirical study investigating how the performance of a DL-based code completion technique is affected by different contexts. We experiment with 8 types of contexts and their combinations. These contexts include: (i) coding contexts, featuring information extracted from the code base in which the code completion is invoked (e.g., code components structurally related to the one to "complete"); (ii) process context, with information aimed at depicting the current status of the project in which a code completion task is triggered (e.g., a textual representation of open issues relevant for the code to complete); and (iii) developer contexts, capturing information about the developer invoking the code completion (e.g., the APIs frequently used). Our results show that additional contextual information can benefit the performance of DL-based code completion, with relative improvements up to +22% in terms of correct predictions.
- Abstract(参考訳): コード補完は、開発者がタイプする可能性のある次のトークンを推奨することで、コード記述のスピードアップを目的としている。
ディープラーニング(DL)モデルは、これらのコーディングアシスタントができることを再定義することによって、コード補完の境界を押し上げました。
DLベースのコード補完技術のパフォーマンスに影響を与える重要な要因の1つは、入力として提供されるコンテキストである。
では、完了すべきコードについてモデルが知っていることを参照します。
単純なシナリオでは、DLモデルは完成するために部分的に実装された関数で供給されるかもしれません。
この場合、コンテキストは不完全関数によって表現され、それに基づいて、モデルは予測を生成する必要がある。
しかし、そのようなコンテキストを拡張して、完了すべき関数を含むソースコードファイル全体のような追加情報を含めることは、予測性能を高めるのに役立つかもしれない。
本研究では,DLベースのコード補完技術の性能が,異なる文脈でどのように影響するかを実証研究する。
8種類のコンテキストとその組み合わせを実験する。
これらの文脈は以下のとおりである。
i) コード補完が呼び出されるコードベースから抽出された情報(例えば、コードコンポーネントが「完全」に構造的に関連している)を特徴とするコーディングコンテキスト。
(ii)プロセスコンテキスト、および、コード完了タスクが起動されるプロジェクトの現状(例えば、コード完了に関連するオープンイシューのテキスト表現)を記述することを目的とした情報
3) 開発者がコード補完を起動する際のコンテキスト(例えば、頻繁に使用されるAPI)をキャプチャする。
以上の結果から,DLベースのコード補完性能が向上し,相対的改善が+22%に向上する可能性が示唆された。
関連論文リスト
- Building A Coding Assistant via the Retrieval-Augmented Language Model [24.654428111628242]
本研究では,コーディング中の人間の知識探索行動を模倣してコードアシスタントを構築するための検索補助言語モデル(CONAN)を提案する。
コード構造対応検索器(CONAN-R)とデュアルビューコード表現に基づく検索拡張生成モデル(CONAN-G)で構成される。
論文 参考訳(メタデータ) (2024-10-21T17:34:39Z) - Contextualized Data-Wrangling Code Generation in Computational Notebooks [131.26365849822932]
我々は、マルチモーダルなコンテキスト依存を明確にしたデータラングリングコード生成例をマイニングするために、CoCoMineという自動アプローチを提案する。
コンテクスト化されたデータラングリングコード生成のための58,221のサンプルを含むデータセットであるCoCoNoteをNotebooksで構築する。
実験結果は、データラングリングコード生成にデータコンテキストを組み込むことの重要性を示す。
論文 参考訳(メタデータ) (2024-09-20T14:49:51Z) - 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) - LongCoder: A Long-Range Pre-trained Language Model for Code Completion [56.813974784131624]
LongCoderは自己アテンションにスライディングウィンドウ機構を採用し、グローバルアクセス可能なトークンを2種類導入している。
ブリッジトークンは入力シーケンス全体を通して挿入され、ローカル情報を集約し、グローバルな相互作用を促進する。
メモリトークンは、後で呼び出され、記憶する必要がある重要なステートメントをハイライトするために含まれます。
論文 参考訳(メタデータ) (2023-06-26T17:59:24Z) - Better Context Makes Better Code Language Models: A Case Study on
Function Call Argument Completion [15.068025336990287]
既存のコード補完モデルでは、完了タスクに良い結果が得られないことを示します。
与えられた関数呼び出しに関する情報をプログラムアナライザに問い合わせ、推論およびトレーニング中に異なるコード補完モデルに対してアナライザ結果を提供する方法を検討する。
実験の結果,関数の実装と関数の使用量へのアクセスは,引数補完性能を大幅に向上させることがわかった。
論文 参考訳(メタデータ) (2023-06-01T06:25:58Z) - 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) - Soft-Labeled Contrastive Pre-training for Function-level Code
Representation [127.71430696347174]
textbfSoft-labeled contrastive pre-training framework with two positive sample construction method。
大規模コードコーパスにおけるコード間の関連性を考慮すると、ソフトラベル付きコントラスト付き事前学習は、きめ細かいソフトラベルを得ることができる。
SCodeRは、7つのデータセットで4つのコード関連タスクに対して、最先端のパフォーマンスを新たに達成する。
論文 参考訳(メタデータ) (2022-10-18T05:17:37Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。