論文の概要: Translation Tag Team: Formal Rules and LLMs Translate More Macros Together than Apart
- arxiv url: http://arxiv.org/abs/2608.06705v1
- Date: Fri, 07 Aug 2026 02:02:01 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-08-10 16:21:25.327136
- Title: Translation Tag Team: Formal Rules and LLMs Translate More Macros Together than Apart
- Title(参考訳): 翻訳タグチーム:公式ルールとLLMはApartよりも多くのマクロを一緒に翻訳する
- Abstract要約: マクロとCが共有する言語の特徴について検討し、それらを初めて正式に特定された翻訳者であるMerCに蒸留する。
MerC は MacroBench のマクロテストケースの 50% をサポートしています。
また、マクロ翻訳の未研究タスクにおいて、マクロベンチを用いて大規模言語モデル(LLM)がいかに効果的であるかを評価する。
- 参考スコア(独自算出の注目度): 3.9945187423832498
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: Modern critical software infrastructure is largely written in C. Since C lacks memory safety, researchers are investigating automatic translation of C to safer languages like Rust. But real-world C software consists of more than just C code, often using named code fragments called macros which are not part of the C language proper. State-of-the-art techniques avoid translating macros by preprocessing C code first before translating it. But this approach produces translations that are dissimilar to the original C code, because preprocessing inlines all macro definitions. To preserve macro usage in translated code, we study the language features that macros and C share and distill them into the first formally-specified translator, MerC. To evaluate MerC, we introduce the first macro translation benchmark, MacroBench, with test cases based on macros randomly sampled from real-world C programs. We find that MerC supports 50% of MacroBench's macro test cases. We also use MacroBench to evaluate how effective large language models (LLMs) are at performing the previously-unstudied task of macro translation. LLMs translate 22% to 77% more of MacroBench than MerC, but with 8% and 28% of these translations being incorrect translations requiring additional validation by developers. In contrast, MerC only produces correct translations. Our key insight is that running MerC first then using LLMs on the remainder reaps greater benefits than using either technique alone. This tag team approach has an average failure rate 32% lower than that of LLMs, while also translating an average of 51% more test cases than MerC.
- Abstract(参考訳): Cにはメモリの安全性がないため、研究者は、Rustのようなより安全な言語へのCの自動翻訳を調査している。
しかし、現実世界のCソフトウェアはC以上のコードで構成されており、しばしばC言語の一部ではないマクロと呼ばれる名前のコードフラグメントを使用する。
State-of-the-art技術は、マクロを翻訳する前にCコードを前処理することで、マクロの翻訳を避ける。
しかしこのアプローチは、前処理がすべてのマクロ定義をインライン化するので、元のCコードと異なる翻訳を生成する。
翻訳コードにおけるマクロ使用率を維持するため、マクロとCが共有する言語機能について検討し、それらを最初の正式に特定された翻訳子であるMerCに蒸留する。
MerCを評価するために、実世界のCプログラムからランダムにサンプリングされたマクロに基づいて、最初のマクロ翻訳ベンチマークであるMacroBenchを導入する。
MerC は MacroBench のマクロテストケースの 50% をサポートしています。
また、マクロ翻訳の未研究タスクにおいて、マクロベンチを用いて大規模言語モデル(LLM)がいかに効果的であるかを評価する。
LLMは、MerCよりも22%から77%多いマクロベンチに翻訳するが、8%と28%は、開発者によるさらなる検証を必要とする誤った翻訳である。
対照的に、MerCは正しい翻訳しか生成しない。
私たちの重要な洞察は、まずMerCを実行し、次に残りでLLMを使用すると、どちらのテクニック単独を使うよりも大きなメリットが得られます。
このタグチームアプローチは、LLMよりも平均失敗率を32%低くし、MerCよりも平均51%高いテストケースを翻訳する。
関連論文リスト
- SEDCoT: Enhancing LLM-Based COBOL Code Translation via Symbolic Execution and Delta Debugging [49.898541267264115]
古い技術や疎結合なドキュメンテーション、開発者の引退などによって、メンテナンスはますます難しくなっている。
従来のルールベースのトランスコンパイラは、読み書きが難しい出力を出力する。
本稿では,新しいC言語翻訳フレームワークであるSEDCoTを提案する。
論文 参考訳(メタデータ) (2026-07-05T03:07:10Z) - Re$^{\text{2}}$MaP: Macro Placement by Recursively Prototyping and Packing Tree-based Relocating [67.49674976434322]
この研究は、エキスパート品質のマクロ配置を生成するRe$text2$MaPメソッドを導入している。
我々はDREAMPlaceを使って、混合サイズの配置プロトタイプを構築し、マクロとクラスタごとに参照位置を取得する。
次に、パッキングツリーベースの移動手順を設計し、各グループ内のマクログループとマクロの位置を共同で調整する。
論文 参考訳(メタデータ) (2025-11-11T09:56:10Z) - Adversarial Agent Collaboration for C to Rust Translation [13.65848262530917]
ACToRは、我々のベンチマークで考慮された63の現実世界のコマンドラインユーティリティを全て翻訳します。
テストパス率は90%を超え、人間の介入はゼロである。
このスケールのCプログラムを確実に翻訳する最初のシステムである。
論文 参考訳(メタデータ) (2025-10-04T17:08:36Z) - IFEvalCode: Controlled Code Generation [69.28317223249358]
本稿では,Code LLMの命令追従能力を改善するために,前方および後方制約生成を提案する。
IFEvalCodeは、7つのプログラミング言語の1.6Kテストサンプルからなる多言語ベンチマークである。
論文 参考訳(メタデータ) (2025-07-30T08:08:48Z) - SafeTrans: LLM-assisted Transpilation from C to Rust [5.6274106543826585]
Rustは、Cの"システム"プログラミング言語としてのメモリセーフな代替として、強力な競争相手である。
本稿では,大規模な言語モデル(LLM)がRustへのCコードの自動コンパイルを実現する可能性を評価する。
SafeTrans は LLM を使って,C コードを Rust にトランスパイルするフレームワークである。
論文 参考訳(メタデータ) (2025-05-15T21:05:33Z) - ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Grounding [60.37988508851391]
言語モデル(LM)は、コード記述ツールボックスのベースとなっている。
Code-LMの事前学習目標の変更を探求する研究は、データ効率の向上と構文とセマンティクスの相互接続性の向上を目的としており、顕著に不十分である。
本研究では,Code-LMが表面的な構文を超越し,事前学習したサンプルの効率を高めるために,難読化コードの基盤について検討する。
論文 参考訳(メタデータ) (2025-03-27T23:08:53Z) - LLM-Driven Multi-step Translation from C to Rust using Static Analysis [27.122409727034192]
レガシー言語で書かれたソフトウェアをCからRustなどのモダン言語に翻訳することは、メモリ安全性を改善する上で大きなメリットがある。
LLM駆動型C-to-Rustゼロショット変換ツールであるSACTORを2段階の翻訳手法を用いて提案する。
SACTORは、既存の方法と比較して、より自然でRustに準拠した翻訳を生成する。
論文 参考訳(メタデータ) (2025-03-16T14:05:26Z) - ExeCoder: Empowering Large Language Models with Executability Representation for Code Translation [57.604506522287814]
既存の大きな言語モデル(LLM)は、事前トレーニング中にのみコードのコンテキスト意味を学習する。
機能的セマンティクスや構文構造,変数依存性といった実行可能性表現を活用するために,ExeCoderを提案する。
ExeCoderは、既存のオープンソースコードLLMを10.88%以上、38.78%以上、27.44%以上、42.97%以上という、2つのメトリクスで、最先端のパフォーマンスを実現している。
論文 参考訳(メタデータ) (2025-01-30T16:18:52Z) - Context-aware Code Segmentation for C-to-Rust Translation using Large Language Models [1.8416014644193066]
大きな言語モデル(LLM)は、ルールベースのメソッドよりも自然で安全なコードを生成することで、この翻訳を自動化することを約束している。
大規模Cコードをコンパイル可能なRustコードに変換する際の成功率を改善するLLMベースの翻訳方式を提案する。
4キロのコードを含む20のベンチマークCプログラムの実験では、すべてのプログラムをコンパイル可能なRustコードに変換することに成功した。
論文 参考訳(メタデータ) (2024-09-16T17:52:36Z) - Why Not Transform Chat Large Language Models to Non-English? [60.200490339844634]
非英語データの不足は、非英語大言語モデル(LLM)の開発を制限する
TransLLMは、転送問題を変換チェーン・オブ・シント(translation chain of-of- Thought)でいくつかの一般的なサブタスクに分割する。
本手法は,シングルターンデータのみを用いて,マルチターンベンチマークMT-benchにおいて,強いベースラインとChatGPTより優れる。
論文 参考訳(メタデータ) (2024-05-22T18:53:25Z) - Semantic Analysis of Macro Usage for Portability [2.7195102129095003]
マクロ利用の可搬性を分析するための,最初の包括的フレームワークを紹介する。
マキを86,199のマクロ定義を含む21のプログラムに適用する。
平均すると、移植が容易なマクロが2倍になり、以前の作業よりも最大7倍多いことが分かりました。
論文 参考訳(メタデータ) (2024-01-18T23:30:02Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。