論文の概要: Repository-Level Compositional Code Translation and Validation
- arxiv url: http://arxiv.org/abs/2410.24117v1
- Date: Thu, 31 Oct 2024 16:46:52 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-11-01 17:03:33.295492
- 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の実世界のオープンソースプロジェクトを翻訳しました。
翻訳されたコード断片の99.1%は構文的に正しいものであり、AlphaTransは翻訳の動作と機能的正しさを25.8%で検証している。
- 参考スコア(独自算出の注目度): 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 translated the entire repository of these projects consisting of 6899 source code fragments. 99.1% of the translated code fragments are syntactically correct, and AlphaTrans validates the translations' runtime behavior and functional correctness for 25.8%. On average, the integrated translation and validation take 36 hours to translate a project, showing its scalability in practice. For the syntactically or semantically 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は6899のソースコード断片からなるこれらのプロジェクトのリポジトリ全体を翻訳した。
翻訳されたコード断片の99.1%は構文的に正しいものであり、AlphaTransは翻訳の動作と機能的正しさを25.8%で検証している。
統合翻訳と検証は、プロジェクトの翻訳に平均36時間かかり、実際にそのスケーラビリティを示している。
構文的にも意味的にも間違った翻訳のために、AlphaTransは既存の翻訳、スタックトレース、テストエラー、アサーション失敗を含むレポートを生成する。
これらアーティファクトを2人の開発者に提供して、4つのプロジェクトの翻訳バグを修正しました。
彼らは平均20.1時間で問題を修正し、すべてのパステストを達成することができた。
関連論文リスト
- 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) - 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) - 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) - A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models [50.86686630756207]
研究によると、ある文の文法的誤りは、それを他の言語に翻訳し、その語を返せば修正できる。
現在の自動プログラム修復(APR)生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,あるプログラミング言語から別のプログラミング言語,あるいは自然言語へのコード変換,そして,その逆といった,微調整ステップをバイパスし,ラウンド・トリップ変換(RTT)を用いる手法を提案する。
論文 参考訳(メタデータ) (2024-01-15T22:36:31Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - 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) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。