論文の概要: Integrating Rules and Semantics for LLM-Based C-to-Rust Translation
- arxiv url: http://arxiv.org/abs/2508.06926v1
- Date: Sat, 09 Aug 2025 10:41:03 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-08-12 21:23:28.616639
- Title: Integrating Rules and Semantics for LLM-Based C-to-Rust Translation
- Title(参考訳): LLMに基づくC-to-Rust翻訳におけるルールとセマンティクスの統合
- Authors: Feng Luo, Kexing Ji, Cuiyun Gao, Shuzheng Gao, Jia Feng, Kui Liu, Xin Xia, Michael R. Lyu,
- Abstract要約: 我々は、翻訳を強化するためにRulEs aNd sEmanticsを統合したLLMベースのフレームワークであるIRENEを提案する。
IRENEは3つのモジュールから構成される。1) 静的アナライザから生成されたルールに基づいて関連する翻訳例を選択するルール拡張された検索モジュールで、Rustルールの処理を改善し、2) LLMを誘導してCコードのセマンティック理解を強化する構造化要約モジュール、3) コンパイラ診断を利用して反復的に翻訳を洗練するエラー駆動翻訳モジュール。
- 参考スコア(独自算出の注目度): 34.61632926526051
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Automated translation of legacy C code into Rust aims to ensure memory safety while reducing the burden of manual migration. Early approaches in code translation rely on static rule-based methods, but they suffer from limited coverage due to dependence on predefined rule patterns. Recent works regard the task as a sequence-to-sequence problem by leveraging large language models (LLMs). Although these LLM-based methods are capable of reducing unsafe code blocks, the translated code often exhibits issues in following Rust rules and maintaining semantic consistency. On one hand, existing methods adopt a direct prompting strategy to translate the C code, which struggles to accommodate the syntactic rules between C and Rust. On the other hand, this strategy makes it difficult for LLMs to accurately capture the semantics of complex code. To address these challenges, we propose IRENE, an LLM-based framework that Integrates RulEs aNd sEmantics to enhance translation. IRENE consists of three modules: 1) a rule-augmented retrieval module that selects relevant translation examples based on rules generated from a static analyzer developed by us, thereby improving the handling of Rust rules; 2) a structured summarization module that produces a structured summary for guiding LLMs to enhance the semantic understanding of C code; 3) an error-driven translation module that leverages compiler diagnostics to iteratively refine translations. We evaluate IRENE on two datasets (xCodeEval, a public dataset, and HW-Bench, an industrial dataset provided by Huawei) and eight LLMs, focusing on translation accuracy and safety.
- Abstract(参考訳): RustへのレガシCコードの自動翻訳は、手作業によるマイグレーションの負担を軽減するとともに、メモリ安全性を確保することを目的としている。
コード翻訳の初期のアプローチは静的なルールベースのメソッドに依存していたが、事前に定義されたルールパターンに依存するため、カバー範囲が限られていた。
近年の研究では,大規模言語モデル (LLM) を活用したシーケンス・ツー・シーケンス問題とみなしている。
これらのLLMベースのメソッドは、安全でないコードブロックを減らすことができるが、翻訳されたコードは、Rustルールに従うことやセマンティック一貫性を維持する上で問題となることが多い。
一方、既存のメソッドでは、CとRust間の構文ルールの適合に苦慮しているCコードを翻訳する直接プロンプト戦略を採用している。
一方、この戦略により、LLMが複雑なコードのセマンティクスを正確に把握することが困難になる。
これらの課題に対処するため,RulEs aNd sEmantics を統合して翻訳を強化する LLM ベースのフレームワーク IRENE を提案する。
IRENEは3つのモジュールから構成される。
1) 私たちが開発した静的アナライザから生成されたルールに基づいて関連する翻訳例を選択するルール拡張された検索モジュールにより、Rustルールの処理が改善される。
2 構造化要約モジュールで、C コードの意味的理解を高めるために LLM を導出するための構造化要約を生成する。
3) コンパイラの診断を利用して翻訳を反復的に洗練するエラー駆動翻訳モジュール。
我々はIRENEを2つのデータセット(xCodeEval、公開データセット、Huaweiが提供する産業データセットHW-Bench)と8つのLCMで評価し、翻訳精度と安全性に焦点を当てた。
関連論文リスト
- IFEvalCode: Controlled Code Generation [69.28317223249358]
本稿では,Code LLMの命令追従能力を改善するために,前方および後方制約生成を提案する。
IFEvalCodeは、7つのプログラミング言語の1.6Kテストサンプルからなる多言語ベンチマークである。
論文 参考訳(メタデータ) (2025-07-30T08:08:48Z) - Large Language Model-Powered Agent for C to Rust Code Translation [2.182572303351317]
現代のシステムプログラミング言語であるRustは、C言語に代わるメモリセーフな代替言語として登場した。
C-to-Rust翻訳のエージェント能力の適用は、異なる課題をもたらす。
数学や常識 QA とは異なり、C-to-Rust に必要な中間ステップは十分に定義されていない。
我々は、新しい中間ステップ、仮想ファジィングに基づく等価テスト(VFT)、エージェント計画フレームワーク、LLMを利用したC-to-Rustコード翻訳のためのエージェント(LAC2R)を提案する。
論文 参考訳(メタデータ) (2025-05-21T01:26:23Z) - LLMigrate: Transforming "Lazy" Large Language Models into Efficient Source Code Migrators [21.114491141763647]
RustでCコードを書き直すことでメモリの安全性が向上するが、32万行のLinuxカーネルのような大規模なマイグレーションは依然として困難である。
最近のLarge Language Model (LLM)アプローチは、より慣用的で安全なRustプログラムを生成するが、しばしば"遅延"を示す。
LLMベースのC-to-Rust翻訳ツールはモジュールを個別の関数に分割し、個別に翻訳し、再統合する。
論文 参考訳(メタデータ) (2025-03-31T07:09:07Z) - 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) - 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) - Building Accurate Translation-Tailored LLMs with Language Aware Instruction Tuning [57.323716555996114]
オフターゲット翻訳は、特に低リソース言語では未解決の問題である。
最近の研究は、翻訳命令の機能を強調するために高度なプロンプト戦略を設計するか、LLMの文脈内学習能力を活用している。
本研究では,LLMの命令追従能力(特に翻訳方向)を向上させるために,2段階の微調整アルゴリズムを設計する。
論文 参考訳(メタデータ) (2024-03-21T13:47:40Z) - DECIDER: A Dual-System Rule-Controllable Decoding Framework for Language Generation [57.07295906718989]
制約付き復号法は,事前訓練された大言語(Ms と PLMs)が生成するテキストの意味やスタイルを,推論時に様々なタスクに対して制御することを目的としている。
これらの方法は、しばしば、欲求的かつ明示的にターゲットを選択することによって、もっともらしい連続を導く。
認知二重プロセス理論に着想を得て,新しい復号化フレームワークDECDERを提案する。
論文 参考訳(メタデータ) (2024-03-04T11:49:08Z) - LLMRefine: Pinpointing and Refining Large Language Models via Fine-Grained Actionable Feedback [65.84061725174269]
最近の大規模言語モデル(LLM)は、世代品質を改善するために人間のフィードバックを活用している。
LLMの出力を最適化する推論時間最適化手法であるLLMRefineを提案する。
機械翻訳、長文質問応答(QA)、話題要約を含む3つのテキスト生成タスクについて実験を行った。
LLMRefineは、すべてのベースラインアプローチを一貫して上回り、翻訳タスクの1.7 MetricXポイント、ASQAの8.1 ROUGE-L、トピックの要約の2.2 ROUGE-Lの改善を実現している。
論文 参考訳(メタデータ) (2023-11-15T19:52:11Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。