論文の概要: Scalable, Validated Code Translation of Entire Projects using Large Language Models
- arxiv url: http://arxiv.org/abs/2412.08035v1
- Date: Wed, 11 Dec 2024 02:31:46 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-12-12 14:03:06.931941
- Title: Scalable, Validated Code Translation of Entire Projects using Large Language Models
- Title(参考訳): 大規模言語モデルを用いた大規模プロジェクトのスケーラブル・検証コード翻訳
- Authors: Hanliang Zhang, Cristina David, Meng Wang, Brandon Paulsen, Daniel Kroening,
- Abstract要約: 大規模言語モデル(LLM)は、慣用的なコードを生成する能力のため、コード翻訳において有望であることを示す。
既存の作品では、100行以上のコードに対する翻訳の成功率が低下している。
私たちは、コードを独立した翻訳が可能な小さなコードフラグメントに分割する、トランスフォーメーションのためのモジュラーアプローチを開発しています。
我々は,最大6,600行のコードと369の関数に対して,信頼性の高いRustを一貫して生成できることを示し,平均73%の関数をI/O同値で検証した。
- 参考スコア(独自算出の注目度): 13.059046327936393
- License:
- Abstract: Large language models (LLMs) show promise in code translation due to their ability to generate idiomatic code. However, a significant limitation when using LLMs for code translation is scalability: existing works have shown a drop in translation success rates for code exceeding around 100 lines. We overcome this limitation by developing a modular approach to translation, where we partition the code into small code fragments which can be translated independently and semantically validated (that is, checking I/O equivalence). When this approach is applied naively, we discover that LLMs are unreliable when translating features of the source language that do not have a direct mapping to the target language, and that the LLM often gets stuck in repair loops when attempting to fix errors. To address these issues, we introduce two key concepts: (1) feature mapping, which integrates predefined translation rules with LLM-based translation to guide the LLM in navigating subtle language differences and producing semantically accurate code; and (2) type-compatibility, which facilitates localized checks at the function signature level to detect errors early, thereby narrowing the scope of potential repairs. We apply our approach to translating real-world Go codebases to Rust, demonstrating that we can consistently generate reliable Rust translations for projects up to 6,600 lines of code and 369 functions, with an average of 73% of functions successfully validated for I/O equivalence, considerably higher than any existing work.
- Abstract(参考訳): 大規模言語モデル(LLM)は、慣用的なコードを生成する能力のため、コード翻訳において有望であることを示す。
しかし、コード翻訳にLLMを使用する場合の大幅な制限はスケーラビリティである。
この制限を克服するために,コードを独立して翻訳し,セマンティックに検証可能な小さなコードフラグメント(I/O同値性をチェックする)に分割する,モジュール的な翻訳アプローチを開発しました。
提案手法をネーティブに適用すると,対象言語に直接対応していないソース言語の特徴を翻訳する場合にLLMが信頼できないこと,エラー修正時にLLMが修復ループで立ち往生すること,などが分かる。
これらの問題に対処するため,(1) 言語の違いをナビゲートし,意味的に正確なコードを生成するために,LLM を用いた翻訳規則と事前定義された翻訳ルールを統合した特徴マッピング,(2) 関数シグネチャレベルでの局所的なチェックを容易にする型適合性,早期にエラーを検出し,潜在的な修復範囲を狭める,という2つの主要な概念を紹介した。
実世界のGoコードベースをRustに変換するアプローチを適用して,6600行のコードと369の関数に対して,信頼性の高いRust翻訳を一貫して生成できることを実証しています。
関連論文リスト
- Repository-Level Compositional Code Translation and Validation [5.269923665485903]
リポジトリレベルのコード翻訳を自動化するニューロシンボリックアプローチであるAlphaTransを提案する。
AlphaTransを利用して,836,8575,2719>クラス,メソッド,テストからなる10の実世界のオープンソースプロジェクトを翻訳しました。
翻訳されたコード断片の99.1%は構文的に正しいものであり、AlphaTransは翻訳の動作と機能的正しさを25.8%で検証している。
論文 参考訳(メタデータ) (2024-10-31T16:46:52Z) - TRANSAGENT: An LLM-Based Multi-Agent System for Code Translation [16.46292795782835]
コード翻訳は、ソフトウェアマイグレーション、システムアブレーション、クロスプラットフォーム開発に不可欠である。
従来のルールベースのメソッドは手書きのルールに依存している。
最近では、LLM(Large Language Models)の進歩により、学習ベースのコード翻訳がさらに強化されている。
本稿では,構文誤りや意味的誤りを解消し,LLMに基づくコード翻訳を強化した新しいマルチエージェントシステムTransagENTを提案する。
論文 参考訳(メタデータ) (2024-09-30T02:53:03Z) - Rectifier: Code Translation with Corrector via LLMs [11.38401806203093]
本稿では,翻訳誤りを修復するマイクロ・ユニバーサルモデルであるRectifierを提案する。
C++,Java,Python間の翻訳タスクの実験結果から,本モデルが有効な修復能力を有することが示された。
論文 参考訳(メタデータ) (2024-07-10T08:58:41Z) - Towards Translating Real-World Code with LLMs: A Study of Translating to Rust [13.743967357458287]
大規模言語モデル(LLM)は、ほとんどのプログラミング言語でコードを記述する能力のため、コード翻訳において有望であることを示す。
実世界のオープンソースプロジェクトから抽出したコードについて検討する。
FLOURINEは、差分ファジィを使用して、Rust翻訳が元のソースプログラムと同等のI/Oかどうかをチェックする、エンドツーエンドのコード変換ツールである。
論文 参考訳(メタデータ) (2024-05-19T10:54:03Z) - Building Accurate Translation-Tailored LLMs with Language Aware Instruction Tuning [57.323716555996114]
オフターゲット翻訳は、特に低リソース言語では未解決の問題である。
最近の研究は、翻訳命令の機能を強調するために高度なプロンプト戦略を設計するか、LLMの文脈内学習能力を活用している。
本研究では,LLMの命令追従能力(特に翻訳方向)を向上させるために,2段階の微調整アルゴリズムを設計する。
論文 参考訳(メタデータ) (2024-03-21T13:47:40Z) - 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) - If LLM Is the Wizard, Then Code Is the Wand: A Survey on How Code
Empowers Large Language Models to Serve as Intelligent Agents [81.60906807941188]
大型言語モデル(LLM)は、自然言語と形式言語(コード)の組み合わせに基づいて訓練される
コードは、標準構文、論理一貫性、抽象化、モジュール性を備えた高レベルの目標を実行可能なステップに変換する。
論文 参考訳(メタデータ) (2024-01-01T16:51:20Z) - ML-Bench: Evaluating Large Language Models and Agents for Machine Learning Tasks on Repository-Level Code [76.84199699772903]
ML-Benchは、既存のコードリポジトリを利用してタスクを実行する現実世界のプログラミングアプリケーションに根ざしたベンチマークである。
LLM(Large Language Model)とAIエージェントの両方を評価するために、事前に定義されたデプロイメント環境でLLMのテキスト-コード変換を評価するML-LLM-Benchと、Linuxサンドボックス環境でエンドツーエンドのタスク実行で自律エージェントをテストするML-Agent-Benchの2つの設定が採用されている。
論文 参考訳(メタデータ) (2023-11-16T12:03:21Z) - Lost in Translation: A Study of Bugs Introduced by Large Language Models
while Translating Code [5.915447908295047]
コード翻訳における一般LLMとコードLLMの能力について,大規模な実証的研究を行った。
私たちの研究は、3つのベンチマークと2つの実世界のプロジェクトからの1,700のコードサンプルの翻訳に関するものです。
LLMの正しい翻訳は2.1%から47.3%であることがわかった。
論文 参考訳(メタデータ) (2023-08-06T13:33:13Z) - Chain-of-Dictionary Prompting Elicits Translation in Large Language Models [100.47154959254937]
大規模言語モデル(LLM)は多言語ニューラルマシン翻訳(MNMT)において驚くほど優れた性能を示した
入力単語のサブセットに対する多言語辞書の連鎖による事前知識でLLMを拡張して翻訳能力を引き出す新しい方法であるCoDを提案する。
論文 参考訳(メタデータ) (2023-05-11T05:19:47Z) - Multilingual Machine Translation with Large Language Models: Empirical Results and Analysis [103.89753784762445]
大規模言語モデル(LLM)は多言語機械翻訳(MMT)の処理において顕著な可能性を示した。
本稿では, MMT における LLM の利点と課題を体系的に検討する。
また,ChatGPTとGPT-4を含む8つのLLMを徹底的に評価した。
論文 参考訳(メタデータ) (2023-04-10T15:51:30Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。