論文の概要: On the Generalizability of Deep Learning-based Code Completion Across Programming Language Versions
- arxiv url: http://arxiv.org/abs/2403.15149v1
- Date: Fri, 22 Mar 2024 12:05:18 GMT
- ステータス: 処理完了
- システム内更新日: 2024-03-25 17:38:51.129699
- Title: On the Generalizability of Deep Learning-based Code Completion Across Programming Language Versions
- Title(参考訳): プログラム言語バージョン間の深層学習に基づくコード補完の一般化可能性について
- Authors: Matteo Ciniselli, Alberto Martin-Lopez, Gabriele Bavota,
- Abstract要約: コード補完は統合開発環境(IDE)の重要な特徴である
現代のコード補完アプローチは、しばしばディープラーニング(DL)モデルによって利用される。
これらのモデルは、異なる言語バージョンにまたがって一般化できますか?
- 参考スコア(独自算出の注目度): 12.245958803682505
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Code completion is a key feature of Integrated Development Environments (IDEs), aimed at predicting the next tokens a developer is likely to write, helping them write code faster and with less effort. Modern code completion approaches are often powered by deep learning (DL) models. However, the swift evolution of programming languages poses a critical challenge to the performance of DL-based code completion models: Can these models generalize across different language versions? This paper delves into such a question. In particular, we assess the capabilities of a state-of-the-art model, CodeT5, to generalize across nine different Java versions, ranging from Java 2 to Java 17, while being exclusively trained on Java 8 code. Our evaluation spans three completion scenarios, namely, predicting tokens, constructs (e.g., the condition of an if statement) and entire code blocks. The results of our study reveal a noticeable disparity among language versions, with the worst performance being obtained in Java 2 and 17 - the most far apart versions compared to Java 8. We investigate possible causes for the performance degradation and show that the adoption of a limited version-specific fine-tuning can partially alleviate the problem. Our work raises awareness on the importance of continuous model refinement, and it can inform the design of alternatives to make code completion models more robust to language evolution.
- Abstract(参考訳): コード補完は統合開発環境(IDE)の重要な機能であり、開発者が書こうとしている次のトークンを予測することを目的としており、より速く、より少ない労力でコードを書くのに役立つ。
現代のコード補完アプローチは、しばしばディープラーニング(DL)モデルによって利用される。
しかし、プログラミング言語の急速な進化は、DLベースのコード補完モデルの性能に重要な課題をもたらす。
この論文にはそのような疑問が浮かび上がっている。
特に、最先端のモデルであるCodeT5の能力を評価し、Java 2からJava 17まで、Java 8のコードでのみトレーニングされながら、9つの異なるJavaバージョンを一般化します。
私たちの評価は、トークン、コンストラクト(例えばif文の状態)、コードブロック全体の3つの補完シナリオにまたがっています。
調査の結果、言語バージョン間で顕著な相違が明らかとなり、Java 2と17では最悪のパフォーマンスが得られました。
性能劣化の原因について検討し、限定バージョン固有の微調整の導入が問題を部分的に軽減できることを示す。
私たちの作業は、継続的モデルの洗練の重要性に対する認識を高め、コード補完モデルを言語進化に対してより堅牢にするための代替案の設計を知らせることができます。
関連論文リスト
- CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution [50.7413285637879]
CRUXEVAL-Xコード推論ベンチマークには19のプログラミング言語が含まれている。
各言語に対して少なくとも600人の被験者で構成され、合計19Kのコンテンツ一貫性テストがある。
Pythonでのみトレーニングされたモデルでさえ、他の言語で34.4%のPass@1を達成することができる。
論文 参考訳(メタデータ) (2024-08-23T11:43:00Z) - Multilingual Contrastive Decoding via Language-Agnostic Layers Skipping [60.458273797431836]
対照的なレイヤ(DoLa)によるデコーディングは、大規模言語モデルの生成品質を改善するために設計されている。
このアプローチは英語以外のタスクではうまくいきません。
モデルの前方通過における言語遷移に関する従来の解釈可能性の研究から着想を得て,改良されたコントラスト復号アルゴリズムを提案する。
論文 参考訳(メタデータ) (2024-07-15T15:14:01Z) - Can Large Language Models Write Parallel Code? [0.5317767988097261]
大規模言語モデルは、ソフトウェア開発の一般的なツールになりつつある。
本稿では,最先端言語モデルによる並列コード生成能力について検討する。
論文 参考訳(メタデータ) (2024-01-23T08:25:12Z) - L2CEval: Evaluating Language-to-Code Generation Capabilities of Large
Language Models [102.00201523306986]
大規模言語モデル(LLM)の言語間コード生成能力を体系的に評価するL2CEvalを提案する。
モデルのサイズ、事前学習データ、命令チューニング、異なるプロンプトメソッドなど、それらのパフォーマンスに影響を与える可能性のある要因を分析する。
モデル性能の評価に加えて、モデルに対する信頼性校正を計測し、出力プログラムの人間による評価を行う。
論文 参考訳(メタデータ) (2023-09-29T17:57:00Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - Enriching Source Code with Contextual Data for Code Completion Models:
An Empirical Study [4.438873396405334]
コンテクストデータを用いてコードを理解しやすくすることで、コード補完作業のための事前学習された言語モデルの性能が向上するかどうかを問う。
コメントについては、マルチラインコメントの存在下でモデルの性能が向上していることが分かる。
論文 参考訳(メタデータ) (2023-04-24T17:09:14Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - AVATAR: A Parallel Corpus for Java-Python Program Translation [77.86173793901139]
プログラム翻訳とは、ある言語から別の言語へソースコードを移行することを指す。
AVATARは9,515のプログラミング問題とそのソリューションをJavaとPythonという2つの人気のある言語で記述したものです。
論文 参考訳(メタデータ) (2021-08-26T05:44:20Z) - Towards Full-line Code Completion with Neural Language Models [25.458883198815393]
単一トークンではなく,コード行全体を直接完了する可能性について論じる。
最近のニューラルネットワークモデルは、コード補完の好ましいアプローチとして採用されている。
論文 参考訳(メタデータ) (2020-09-18T03:12:13Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。