論文の概要: Repository-Level Compositional Code Translation and Validation
- arxiv url: http://arxiv.org/abs/2410.24117v3
- Date: Mon, 24 Feb 2025 21:17:25 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-02-26 15:20:08.012438
- Title: Repository-Level Compositional Code Translation and Validation
- Title(参考訳): リポジトリ・レベル構成コード翻訳と検証
- Authors: Ali Reza Ibrahimzada, Kaiyao Ke, Mrigank Pawagi, Muhammad Salman Abid, Rangeet Pan, Saurabh Sinha, Reyhaneh Jabbarvand,
- Abstract要約: リポジトリレベルのコード翻訳を自動化するニューロシンボリックアプローチであるAlphaTransを提案する。
AlphaTransを利用して,836,8575,2719>クラス,メソッド,テストからなる10の実世界のオープンソースプロジェクトを翻訳しました。
- 参考スコア(独自算出の注目度): 5.269923665485903
- License:
- Abstract: Code translation transforms programs from one programming language (PL) to another. Several rule-based transpilers have been designed to automate code translation between different pairs of PLs. However, the rules can become obsolete as the PLs evolve and cannot generalize to other PLs. Recent studies have explored the automation of code translation using Large Language Models (LLMs). One key observation is that such techniques may work well for crafted benchmarks but fail to generalize to the scale and complexity of real-world projects with dependencies, custom types, PL-specific features, etc. We propose AlphaTrans, a neuro-symbolic approach to automate repository-level code translation. AlphaTrans translates both source and test code, and employs multiple levels of validation to ensure the translation preserves the functionality of the source program. To break down the problem for LLMs, AlphaTrans leverages program analysis to decompose the program into fragments and translates them in the reverse call order. We leveraged AlphaTrans to translate ten real-world open-source projects consisting of <836, 8575, 2719> classes, methods, and tests. AlphaTrans breaks down these projects into 17874 fragments and translates the entire repository. 96.40% of the translated fragments are syntactically correct, and AlphaTrans validates the translations' runtime behavior and functional correctness for 27.03% and 25.14% of fragments. On average, the integrated translation and validation take 34 hours to translate a project, showing its scalability in practice. For the incorrect translations, AlphaTrans generates a report including existing translation, stack trace, test errors, or assertion failures. We provided these artifacts to two developers to fix the translation bugs in four projects. They were able to fix the issues in 20.1 hours on average and achieve all passing tests.
- Abstract(参考訳): コード変換は、プログラムをあるプログラミング言語(PL)から別のプログラミング言語に変換する。
いくつかのルールベースのトランスパイラは、異なるPL間のコード翻訳を自動化するように設計されている。
しかし、PLが進化するにつれて規則は時代遅れになり、他のPLには一般化できない。
近年,Large Language Models (LLM) を用いたコード翻訳の自動化について検討している。
重要な観察の1つは、そのようなテクニックは、熟練したベンチマークでうまく機能するかもしれないが、依存関係、カスタムタイプ、PL固有の機能などを備えた実世界のプロジェクトの規模と複雑さを一般化できないことである。
リポジトリレベルのコード翻訳を自動化するニューロシンボリックアプローチであるAlphaTransを提案する。
AlphaTransはソースコードとテストコードの両方を翻訳し、ソースプログラムの機能を維持するために複数のレベルのバリデーションを採用している。
LLMの問題を分解するために、AlphaTransはプログラム解析を利用してプログラムを断片に分解し、それらを逆呼び出し順に翻訳する。
AlphaTransを利用して、<836, 8575, 2719>クラス、メソッド、テストからなる10の現実世界のオープンソースプロジェクトを翻訳しました。
AlphaTransはこれらのプロジェクトを17874の断片に分解し、リポジトリ全体を翻訳する。
翻訳された断片の96.40%は構文的に正しいものであり、AlphaTransは翻訳者の実行時の振る舞いと機能的正しさを27.03%と25.14%で検証している。
統合翻訳と検証は、プロジェクトの翻訳に平均34時間かかり、実際にそのスケーラビリティを示している。
誤った翻訳のために、AlphaTransは既存の翻訳、スタックトレース、テストエラー、アサーション失敗を含むレポートを生成する。
これらアーティファクトを2人の開発者に提供して、4つのプロジェクトの翻訳バグを修正しました。
彼らは平均20.1時間で問題を修正し、すべてのパステストを達成することができた。
関連論文リスト
- Guided Debugging of Auto-Translated Code Using Differential Testing [9.897793495754225]
tHinterは自動翻訳コードで翻訳エラーを見つけるツールである。
ファジィを使用して、翻訳されたコードを徹底的に探索する多様なテストケースを生成する。
次に、カバレッジ情報と差分テストの実行結果から翻訳エラーをピンポイントするアルゴリズムに依存する。
論文 参考訳(メタデータ) (2025-01-16T11:27:25Z) - RepoTransBench: A Real-World Benchmark for Repository-Level Code Translation [44.856816446807265]
リポジトリレベルのコード変換(Repository-level code translation)とは、コードリポジトリ全体をあるプログラミング言語から別の言語に翻訳することを指す。
以前のベンチマークでは、コードスニペット、関数、ファイルレベルのコード変換のいずれかに焦点を当てた、きめ細かいサンプルが提供されていた。
自動実行テストスイートを備えた実世界のリポジトリレベルのコード翻訳ベンチマークであるRepoTransBenchを提案する。
論文 参考訳(メタデータ) (2024-12-23T17:52:10Z) - Scalable, Validated Code Translation of Entire Projects using Large Language Models [13.059046327936393]
大規模言語モデル(LLM)は、慣用的なコードを生成する能力のため、コード翻訳において有望であることを示す。
既存の作品では、100行以上のコードに対する翻訳の成功率が低下している。
私たちは、コードを独立した翻訳が可能な小さなコードフラグメントに分割する、トランスフォーメーションのためのモジュラーアプローチを開発しています。
我々は,最大6,600行のコードと369の関数に対して,信頼性の高いRustを一貫して生成できることを示し,平均73%の関数をI/O同値で検証した。
論文 参考訳(メタデータ) (2024-12-11T02:31:46Z) - InterTrans: Leveraging Transitive Intermediate Translations to Enhance LLM-based Code Translation [9.655135415596414]
コード翻訳は、あるプログラムをあるプログラミング言語(PL)から別のプログラミング言語に変換することを目的としている。
近年の研究では、大規模言語モデル(LLM)のような高度な技術でさえもタスクに苦戦していることが示されている。
LLMベースの自動コード翻訳手法であるInterTransを導入する。
論文 参考訳(メタデータ) (2024-11-01T22:31:32Z) - Rectifier: Code Translation with Corrector via LLMs [11.38401806203093]
本稿では,翻訳誤りを修復するマイクロ・ユニバーサルモデルであるRectifierを提案する。
C++,Java,Python間の翻訳タスクの実験結果から,本モデルが有効な修復能力を有することが示された。
論文 参考訳(メタデータ) (2024-07-10T08:58:41Z) - Exploring and Unleashing the Power of Large Language Models in Automated Code Translation [40.25727029618665]
本稿では,自動翻訳タスクのための多種多様なLLMと学習ベーストランスパイラについて検討する。
UniTrans は、様々な LLM に適用可能な統一コード翻訳フレームワークである。
最近の3つのLLMはUniTransでテストされており、いずれも大幅に改善されている。
論文 参考訳(メタデータ) (2024-04-23T00:49:46Z) - 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) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - ParroT: Translating during Chat using Large Language Models tuned with
Human Translation and Feedback [90.20262941911027]
ParroTはチャット中の翻訳機能を強化し、規制するフレームワークである。
具体的には、ParroTは、翻訳データを命令フォロースタイルに書き換える。
本稿では,ParroTモデルを微調整するための3つの命令タイプを提案する。
論文 参考訳(メタデータ) (2023-04-05T13:12:00Z) - Zero-Shot Cross-lingual Semantic Parsing [56.95036511882921]
7つのテスト言語に対する並列データを持たないゼロショット問題として,言語間セマンティックパーシングについて検討した。
英文論理形式ペアデータのみを用いて解析知識を付加言語に転送するマルチタスクエンコーダデコーダモデルを提案する。
このシステムは、ゼロショット解析を潜時空間アライメント問題としてフレーム化し、事前訓練されたモデルを改善し、最小のクロスリンガル転送ペナルティで論理形式を生成することができる。
論文 参考訳(メタデータ) (2021-04-15T16:08:43Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。