論文の概要: LLM4C2Rust: Large Language Models for Automated Memory-Safe Code Transpilation
- arxiv url: http://arxiv.org/abs/2604.15485v1
- Date: Thu, 16 Apr 2026 19:33:44 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-04-20 22:00:19.632915
- Title: LLM4C2Rust: Large Language Models for Automated Memory-Safe Code Transpilation
- Title(参考訳): LLM4C2Rust: メモリセーフなコードトランスパイラのための大規模言語モデル
- Authors: Sarah Bedell, Nazanin Siavash, Armin Moin,
- Abstract要約: Rustは、最も若いモダンプログラミング言語の1つで、組み込みのメモリセーフティ保証を提供する。
C/C++コードをメモリセーフなRustコードにトランスパイルすることは、研究の領域が増えている。
本稿では,C/C++-to-Rustトランスパイルを実現するためのRAG(Retrieval-Augmented Generation)フレームワークを提案する。
- 参考スコア(独自算出の注目度): 1.4490522938516996
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Memory safety has long been a critical challenge in software engineering, particularly for legacy systems written in memory-unsafe languages such as C and C++. Rust, one of the youngest modern programming languages, offers built-in memory-safety guarantees that make it a strong candidate for secure systems development. Consequently, transpiling C/C++ code into memory-safe Rust code has become a growing area of research. However, manual transpilation is often time-consuming and error-prone. Additionally, rule-based automated approaches are not as flexible or cost-effective as methods enabled by state-of-the-art AI models, techniques, and methods, such as those that deploy Large Language Models (LLMs), for example, Generative Pretrained Transformers (GPT). In this paper, we propose a Retrieval-Augmented Generation (RAG)-assisted framework that integrates an LLM with a Small Language Model (SLM) to perform C/C++-to-Rust transpilation with a focus on enhancing memory safety. The framework deploys a segmentation strategy that processes C/C++ code in balanced blocks, guiding the LLM with retrieved context from Rust documentation and compiler error references. Our experiments using three OpenAI models (GPT-4o, GPT-4-Turbo, and o3-Mini) demonstrate that the RAG-enhanced pipeline generally improves both code correctness and security for C-to-Rust code transpilation. Several Coreutils programs achieve complete elimination of Raw Pointer Dereferences (RPDs) and Unsafe Type Casts (UTCs) in the final Rust output, indicating the potential of LLM-based transpilation for advancing automated software modernization and repair, as well as memory-safe code generation.
- Abstract(参考訳): メモリ安全性は、特にCやC++のようなメモリ不安全な言語で書かれたレガシーシステムにとって、長年、ソフトウェアエンジニアリングにおいて重要な課題であった。
Rustは、最も若いモダンなプログラミング言語の1つで、組み込みのメモリセーフティ保証を提供しており、セキュアなシステム開発のための強力な候補となっている。
その結果、C/C++コードをメモリセーフなRustコードにトランスパイルすることは、研究の領域が増えている。
しかし、手動のトランスパイレーションは、しばしば時間がかかり、エラーが発生しやすい。
さらに、ルールベースの自動化アプローチは、例えばジェネレーティブ事前学習トランスフォーマー(GPT)など、大規模言語モデル(LLM)をデプロイするなど、最先端のAIモデルやテクニック、メソッドによって実現される方法ほど、柔軟性やコスト効率は高くない。
本稿では,LLMとSmall Language Model(SLM)を統合し,C/C++-to-Rustトランスパイラを実現するためのRAGフレームワークを提案する。
このフレームワークは、バランスの取れたブロックでC/C++コードを処理するセグメンテーション戦略をデプロイし、Rustドキュメントとコンパイラエラー参照から取得したコンテキストでLLMを誘導する。
3つのOpenAIモデル(GPT-4o, GPT-4-Turbo, o3-Mini)を用いた実験により,RAG強化パイプラインは一般にC-to-Rustコードトランスパイレーションの正確性とセキュリティを向上することを示した。
いくつかのCoreutilsプログラムは、最終Rust出力におけるRaw Pointer Dereferences (RPD) と Unsafe Type Casts (UTC) の完全な除去を実現し、自動ソフトウェア近代化と修復の進歩とメモリセーフなコード生成のためのLLMベースのトランスパイルの可能性を示している。
関連論文リスト
- Context-Guided Decompilation: A Step Towards Re-executability [50.71992919223209]
バイナリ逆コンパイルは、ソフトウェアセキュリティ分析、リバースエンジニアリング、マルウェア理解において重要な役割を果たす。
大規模言語モデル (LLMs) の最近の進歩により、ニューラルデコンパイルが可能になったが、生成されたコードは一般的に意味論的にのみ使用可能である。
In-context Learning(ICL)を活用して,再実行可能なソースコードを生成するためのILC4Decompを提案する。
論文 参考訳(メタデータ) (2025-11-03T17:21:39Z) - SafeTrans: LLM-assisted Transpilation from C to Rust [5.6274106543826585]
Rustは、Cの"システム"プログラミング言語としてのメモリセーフな代替として、強力な競争相手である。
本稿では,大規模な言語モデル(LLM)がRustへのCコードの自動コンパイルを実現する可能性を評価する。
SafeTrans は LLM を使って,C コードを Rust にトランスパイルするフレームワークである。
論文 参考訳(メタデータ) (2025-05-15T21:05:33Z) - CRUST-Bench: A Comprehensive Benchmark for C-to-safe-Rust Transpilation [51.18863297461463]
CRUST-Benchは100のCリポジトリのデータセットで、それぞれが安全なRustとテストケースで手書きのインターフェースとペアリングされている。
我々は、このタスクで最先端の大規模言語モデル(LLM)を評価し、安全で慣用的なRust生成が依然として難しい問題であることを確認した。
最高のパフォーマンスモデルであるOpenAI o1は、ワンショット設定で15タスクしか解決できない。
論文 参考訳(メタデータ) (2025-04-21T17:33:33Z) - 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) - Syzygy: Dual Code-Test C to (safe) Rust Translation using LLMs and Dynamic Analysis [8.361424157571468]
Syzygyは、C言語を安全なRustに変換する自動化アプローチである。
これは、Rustのコード翻訳を安全にする上で、これまでで最大の自動化およびテスト検証済みのCである。
論文 参考訳(メタデータ) (2024-12-18T18:55: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) - CodeAttack: Revealing Safety Generalization Challenges of Large Language Models via Code Completion [117.178835165855]
本稿では,自然言語入力をコード入力に変換するフレームワークであるCodeAttackを紹介する。
我々の研究は、コード入力に対するこれらのモデルの新たな、普遍的な安全性の脆弱性を明らかにした。
CodeAttackと自然言語の分布ギャップが大きくなると、安全性の一般化が弱くなる。
論文 参考訳(メタデータ) (2024-03-12T17:55:38Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。