論文の概要: Multilingual Code Co-Evolution Using Large Language Models
- arxiv url: http://arxiv.org/abs/2307.14991v2
- Date: Mon, 11 Sep 2023 19:37:27 GMT
- ステータス: 処理完了
- システム内更新日: 2023-09-13 16:51:57.968874
- Title: Multilingual Code Co-Evolution Using Large Language Models
- Title(参考訳): 大規模言語モデルを用いた多言語コード共進化
- Authors: Jiyang Zhang, Pengyu Nie, Junyi Jessy Li, Milos Gligoric
- Abstract要約: あるプログラミング言語から別のプログラミング言語へのコード変更の翻訳は、開発者の作業方法ではない。
Codeditorは、明示的にコード変更を編集としてモデル化し、プログラミング言語間で変更を関連付けることを学習する。
Codeditorは、一般的に使用されるすべての自動メトリクスに対して、最先端のアプローチを大きなマージンで上回る。
- 参考スコア(独自算出の注目度): 45.083171710527985
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Many software projects implement APIs and algorithms in multiple programming
languages. Maintaining such projects is tiresome, as developers have to ensure
that any change (e.g., a bug fix or a new feature) is being propagated, timely
and without errors, to implementations in other programming languages. In the
world of ever-changing software, using rule-based translation tools (i.e.,
transpilers) or machine learning models for translating code from one language
to another provides limited value. Translating each time the entire codebase
from one language to another is not the way developers work. In this paper, we
target a novel task: translating code changes from one programming language to
another using large language models (LLMs). We design and implement the first
LLM, dubbed Codeditor, to tackle this task. Codeditor explicitly models code
changes as edit sequences and learns to correlate changes across programming
languages. To evaluate Codeditor, we collect a corpus of 6,613 aligned code
changes from 8 pairs of open-source software projects implementing similar
functionalities in two programming languages (Java and C#). Results show that
Codeditor outperforms the state-of-the-art approaches by a large margin on all
commonly used automatic metrics. Our work also reveals that Codeditor is
complementary to the existing generation-based models, and their combination
ensures even greater performance.
- Abstract(参考訳): 多くのソフトウェアプロジェクトは複数のプログラミング言語でapiとアルゴリズムを実装している。
開発者が他のプログラミング言語の実装に対する変更(バグ修正や新機能など)が、タイムリーかつエラーなく伝播されることを保証する必要があるため、そのようなプロジェクトのメンテナンスは面倒である。
絶え間なく変化するソフトウェアの世界では、ルールベースの翻訳ツール(トランスパイラ)または機械学習モデルを使用して、ある言語から別の言語へのコード翻訳を行う。
コードベース全体をひとつの言語から別の言語に翻訳することは、開発者の作業方法ではない。
本稿では,大きな言語モデル(LLM)を用いて,あるプログラミング言語から別の言語へのコード変更を翻訳する,新しいタスクを目標とする。
私たちは、このタスクに取り組むために、Codeditorと呼ばれる最初のLLMを設計し、実装しました。
Codeditorは、明示的にコード変更を編集シーケンスとしてモデル化し、プログラミング言語間の変更を関連付けることを学ぶ。
Codeditorを評価するために、2つのプログラミング言語(JavaとC#)で同様の機能を実装する8組のオープンソースソフトウェアプロジェクトから、6,613のコード変更のコーパスを収集しました。
その結果、codeditorは、一般的に使用されるすべての自動メトリクスに対して、最先端のアプローチよりも大きなマージンを持つことがわかった。
私たちの研究によると、Codeditorは既存の世代ベースのモデルと相補的であり、それらの組み合わせによってさらにパフォーマンスが向上します。
関連論文リスト
- Benchmarking LLM Code Generation for Audio Programming with Visual Dataflow Languages [1.559169421643164]
ノードベースのプログラミング言語は、メディアアートコーディングドメインでますます人気がある。
LLMベースのコード生成を使用して、創造的なアウトプットの障壁をさらに低くするというのは、エキサイティングな機会です。
ビジュアルノードベースのプログラミング言語のためのコード生成の最良の戦略は、まだオープンな問題である。
論文 参考訳(メタデータ) (2024-09-01T22:11:23Z) - CodeGRAG: Bridging the Gap between Natural Language and Programming Language via Graphical Retrieval Augmented Generation [58.84212778960507]
我々は,LLMの性能を高めるため,グラフィカル検索拡張コード生成フレームワークであるCodeGRAGを提案する。
CodeGRAGは、制御フローとデータフローに基づいて、コードブロックのグラフィカルなビューを構築し、プログラミング言語と自然言語のギャップを埋める。
ハードメタグラフプロンプト、ソフトプロンプト技術、事前訓練されたGNN専門家の目的の有効性を検証するために、C++言語とピソン言語の両方を含む4つのデータセットで様々な実験と改善が行われた。
論文 参考訳(メタデータ) (2024-05-03T02:48:55Z) - MYTE: Morphology-Driven Byte Encoding for Better and Fairer Multilingual Language Modeling [70.34758460372629]
多様な言語にまたがる一貫した大きさのセグメントで同一情報をエンコードする新しいパラダイムを導入する。
MYTEは99の言語すべてに対して短いエンコーディングを生成する。
これにより、多言語LMの性能が向上し、多言語間でのパープレキシティギャップが減少する。
論文 参考訳(メタデータ) (2024-03-15T21:21:11Z) - IRCoder: Intermediate Representations Make Language Models Robust Multilingual Code Generators [49.903001442804594]
本研究では、コンパイラ中間表現(IR)を活用して、Code-LMの多言語機能を改善する可能性について検討する。
まず,約400万のソースコードファイルからなる並列データセットであるSLTransをコンパイルする。
次に、SLTransにおける因果言語モデリングトレーニングを継続して実施し、Code-LMはIR言語を学習せざるを得なかった。
IRCoderと呼ばれる結果のモデルは、さまざまなコード生成タスクやメトリクスに対して、サイズと一貫性のあるゲインを表示します。
論文 参考訳(メタデータ) (2024-03-06T17:52:08Z) - COMEX: A Tool for Generating Customized Source Code Representations [7.151800146054561]
COMEXは、研究者と開発者が複数のコードビューを作成し、組み合わせることを可能にするフレームワークである。
プロシージャ内スニペットとプロシージャ間スニペットの両方を使用して、メソッドレベルのスニペットとプログラムレベルのスニペットの両方を分析することができる。
これは40以上の言語をサポートする、広く使われているインクリメンタル分析ツールであるtree-sitter上に構築されている。
論文 参考訳(メタデータ) (2023-07-10T16:46:34Z) - ERNIE-Code: Beyond English-Centric Cross-lingual Pretraining for
Programming Languages [37.60016772021422]
同じプログラミング言語(PL)を扱うソフトウェアエンジニアは、異なる自然言語(NL)を話し、その逆も話す。
近年の研究では、コンピュータプログラムにおける生成前訓練の有効性が実証されているが、それらは常に英語中心である。
ERNIE-Codeは116個のNLと6個のPLのための統合事前学習言語モデルである。
論文 参考訳(メタデータ) (2022-12-13T17:21:44Z) - A Scalable and Extensible Approach to Benchmarking NL2Code for 18
Programming Languages [1.6312827172331896]
我々は、自然言語からコード生成のための最初のマルチ言語並列ベンチマークであるMultiPL-Eを提案する。
我々は,MultiPL-Eのコード生成モデルであるCodexとInCoderの2つを評価した。
MultiPL-Eで表現される言語の範囲は、言語周波数と言語特徴がモデル性能に与える影響を調査することができる。
論文 参考訳(メタデータ) (2022-08-17T11:16:52Z) - A Systematic Evaluation of Large Language Models of Code [88.34057460577957]
コードの大規模な言語モデル(LM)は、最近、コードを完成させ、自然言語記述からコードを合成する大きな可能性を示しています。
現在の最先端のコードLMは公開されておらず、モデルやデータ設計の決定について多くの疑問が残されている。
Codexはオープンソースではありませんが、既存のオープンソースモデルはいくつかのプログラミング言語でクローズな結果が得られることが分かりました。
GPT-2アーキテクチャに基づいた2.7Bパラメータを持つ新しいモデルPolyCoderをリリースし、12のプログラミング言語を1台のマシンで249GBのコードでトレーニングした。
論文 参考訳(メタデータ) (2022-02-26T15:53:55Z) - AVATAR: A Parallel Corpus for Java-Python Program Translation [77.86173793901139]
プログラム翻訳とは、ある言語から別の言語へソースコードを移行することを指す。
AVATARは9,515のプログラミング問題とそのソリューションをJavaとPythonという2つの人気のある言語で記述したものです。
論文 参考訳(メタデータ) (2021-08-26T05:44:20Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。