論文の概要: CrossCodeEval: A Diverse and Multilingual Benchmark for Cross-File Code
Completion
- arxiv url: http://arxiv.org/abs/2310.11248v2
- Date: Fri, 17 Nov 2023 02:51:39 GMT
- ステータス: 処理完了
- システム内更新日: 2023-11-22 17:16:38.341276
- Title: CrossCodeEval: A Diverse and Multilingual Benchmark for Cross-File Code
Completion
- Title(参考訳): CrossCodeEval:クロスファイルコード補完のための多言語ベンチマーク
- Authors: Yangruibo Ding, Zijian Wang, Wasi Uddin Ahmad, Hantian Ding, Ming Tan,
Nihal Jain, Murali Krishna Ramanathan, Ramesh Nallapati, Parminder Bhatia,
Dan Roth, Bing Xiang
- Abstract要約: CrossCodeEvalは4つの人気のあるプログラミング言語の様々な現実世界、オープンソース、パーミッシブライセンスのリポジトリ上に構築されている。
関連するクロスファイルコンテキストが欠如している場合、CrossCodeEvalは極めて困難であることを示す。
また、コードレトリバーの能力を測定するためにCrossCodeEvalが使えることも示しています。
- 参考スコア(独自算出の注目度): 86.01508183157613
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Code completion models have made significant progress in recent years, yet
current popular evaluation datasets, such as HumanEval and MBPP, predominantly
focus on code completion tasks within a single file. This over-simplified
setting falls short of representing the real-world software development
scenario where repositories span multiple files with numerous cross-file
dependencies, and accessing and understanding cross-file context is often
required to complete the code correctly.
To fill in this gap, we propose CrossCodeEval, a diverse and multilingual
code completion benchmark that necessitates an in-depth cross-file contextual
understanding to complete the code accurately. CrossCodeEval is built on a
diverse set of real-world, open-sourced, permissively-licensed repositories in
four popular programming languages: Python, Java, TypeScript, and C#. To create
examples that strictly require cross-file context for accurate completion, we
propose a straightforward yet efficient static-analysis-based approach to
pinpoint the use of cross-file context within the current file.
Extensive experiments on state-of-the-art code language models like CodeGen
and StarCoder demonstrate that CrossCodeEval is extremely challenging when the
relevant cross-file context is absent, and we see clear improvements when
adding these context into the prompt. However, despite such improvements, the
pinnacle of performance remains notably unattained even with the
highest-performing model, indicating that CrossCodeEval is also capable of
assessing model's capability in leveraging extensive context to make better
code completion. Finally, we benchmarked various methods in retrieving
cross-file context, and show that CrossCodeEval can also be used to measure the
capability of code retrievers.
- Abstract(参考訳): 近年、コード補完モデルは大幅に進歩しているが、HumanEvalやMBPPといった一般的な評価データセットは、主に単一のファイル内のコード補完タスクに焦点を当てている。
この単純化された設定は、多数のクロスファイル依存関係を持つ複数のファイルにレポジトリがまたがる実際のソフトウェア開発シナリオを表現するものではありません。
このギャップを埋めるために、我々はCrossCodeEvalを提案する。CrossCodeEvalは多種多様な多言語コード補完ベンチマークで、正確にコードを完成させるために、詳細なクロスファイルのコンテキスト理解を必要とする。
CrossCodeEvalは、Python、Java、TypeScript、C#という4つの人気のあるプログラミング言語で、さまざまな現実世界、オープンソース、パーミッシブライセンスのリポジトリ上に構築されている。
正確な完了のためにクロスファイルコンテキストを厳密に要求する例を作成するために、我々は、現在のファイル内でクロスファイルコンテキストの使用をピンポイントする、単純かつ効率的な静的分析に基づくアプローチを提案する。
CodeGenやStarCoderのような最先端のコード言語モデルに関する大規模な実験では、関連するクロスファイルコンテキストが欠如している場合、CrossCodeEvalは非常に難しいことが示されています。
しかしながら、このような改善にもかかわらず、最高性能のモデルでさえ、パフォーマンスの頂点は明らかに未完成であり、CrossCodeEvalは、コード補完を改善するために広範囲なコンテキストを活用するモデルの能力も評価できることを示している。
最後に、クロスファイルコンテキストの検索において様々なメソッドをベンチマークし、コード検索の能力を測定するためにCrossCodeEvalを使用できることを示す。
関連論文リスト
- 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) - LongCoder: A Long-Range Pre-trained Language Model for Code Completion [56.813974784131624]
LongCoderは自己アテンションにスライディングウィンドウ機構を採用し、グローバルアクセス可能なトークンを2種類導入している。
ブリッジトークンは入力シーケンス全体を通して挿入され、ローカル情報を集約し、グローバルな相互作用を促進する。
メモリトークンは、後で呼び出され、記憶する必要がある重要なステートメントをハイライトするために含まれます。
論文 参考訳(メタデータ) (2023-06-26T17:59:24Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。