論文の概要: RustAssure: Differential Symbolic Testing for LLM-Transpiled C-to-Rust Code
- arxiv url: http://arxiv.org/abs/2510.07604v1
- Date: Wed, 08 Oct 2025 22:52:34 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-10-10 17:54:14.76641
- Title: RustAssure: Differential Symbolic Testing for LLM-Transpiled C-to-Rust Code
- Title(参考訳): RustAssure: LLMにトランスパイルされたC-to-Rustコードの差分シンボリックテスト
- Authors: Yubo Bai, Tapti Palit,
- Abstract要約: Rustは、ソフトウェアのセキュリティを大幅に改善するメモリセーフなプログラミング言語である。
Cのような安全でないメモリ言語で書かれた既存のものは、Rustの改善された安全性保証を活用するために、まずRustにコンパイルされなければならない。
RustAssureは、Large Language Models(LLM)を使用して既存のCをRustに自動的にトランスパイルするシステムを提供する。
- 参考スコア(独自算出の注目度): 2.1413732583497826
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Rust is a memory-safe programming language that significantly improves software security. Existing codebases written in unsafe memory languages, such as C, must first be transpiled to Rust to take advantage of Rust's improved safety guarantees. RustAssure presents a system that uses Large Language Models (LLMs) to automatically transpile existing C codebases to Rust. RustAssure uses prompt engineering techniques to maximize the chances of the LLM generating idiomatic and safe Rust code. Moreover, because LLMs often generate code with subtle bugs that can be missed under traditional unit or fuzz testing, RustAssure performs differential symbolic testing to establish the semantic similarity between the original C and LLM-transpiled Rust code. We evaluated RustAssure with five real-world applications and libraries, and showed that our system is able to generate compilable Rust functions for 89.8% of all C functions, of which 69.9% produced equivalent symbolic return values for both the C and Rust functions.
- Abstract(参考訳): Rustは、ソフトウェアのセキュリティを大幅に改善するメモリセーフなプログラミング言語である。
Cのような安全でないメモリ言語で書かれた既存のコードベースは、Rustの改善された安全性保証を活用するために、まずRustにコンパイルされなければならない。
RustAssureは、Large Language Models(LLM)を使用して既存のCコードベースをRustに自動的にトランスパイルするシステムを提供する。
RustAssureは、即時エンジニアリング技術を使用して、慣用的で安全なRustコードを生成するLLMの可能性を最大化する。
さらに、LLMは従来のユニットテストやファズテストで見逃せない微妙なバグのあるコードを生成することが多いため、RustAssureは、オリジナルのCとLLMにコンパイルされたRustコードのセマンティックな類似性を確立するために、差分シンボルテストを実行する。
我々は、RustAssureを5つの現実世界のアプリケーションとライブラリで評価し、我々のシステムがコンパイル可能なRust関数を全C関数の89.8%で生成できることを示し、そのうち69.9%がC関数とRust関数の両方で等価なシンボル戻り値を生成した。
関連論文リスト
- 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) - RustMap: Towards Project-Scale C-to-Rust Migration via Program Analysis and LLM [13.584956125542396]
Rustは、Cのパフォーマンスを維持しながら、優れたメモリ安全性を提供する。
C2Rustのような既存の自動翻訳ツールは、構文的、テンプレートベースの翻訳に依存しすぎている可能性がある。
本稿では,新しい依存誘導型大規模言語モデル (LLM) をベースとしたC-to-Rust変換手法であるRustMapを提案する。
論文 参考訳(メタデータ) (2025-03-22T11:57:45Z) - C2SaferRust: Transforming C Projects into Safer Rust with NeuroSymbolic Techniques [16.111888466557144]
我々はC2SaferRustを紹介します。
最初にC2Rustを使って、Cコードを非慣用的で安全でないRustに変換する。
安全でないRustコードをスライスに分解し、LLMによってより安全なRustに個別に変換します。
各スライスを処理した後、エンドツーエンドのテストケースを実行して、コードが期待通りに機能していることを確認する。
論文 参考訳(メタデータ) (2025-01-24T05:53:07Z) - VERT: Verified Equivalent Rust Transpilation with Large Language Models as Few-Shot Learners [6.824327908701066]
Rustはメモリ安全性と低レベルのコントロールを組み合わせたプログラミング言語で、Cライクなパフォーマンスを提供する。
既存の作業はルールベースと大規模言語モデル(LLM)という2つのカテゴリに分類される。
私たちは、正式な正確性を保証する形で、可読性のあるRustトランスパイルを生成するツールであるVERTを紹介します。
論文 参考訳(メタデータ) (2024-04-29T16:45:03Z) - FoC: Figure out the Cryptographic Functions in Stripped Binaries with LLMs [51.898805184427545]
削除されたバイナリの暗号関数を抽出するFoCと呼ばれる新しいフレームワークを提案する。
まず、自然言語における暗号関数のセマンティクスを要約するために、バイナリ大言語モデル(FoC-BinLLM)を構築した。
次に、FoC-BinLLM上にバイナリコード類似モデル(FoC-Sim)を構築し、変更に敏感な表現を作成し、データベース内の未知の暗号関数の類似実装を検索する。
論文 参考訳(メタデータ) (2024-03-27T09:45:33Z) - Fixing Rust Compilation Errors using LLMs [2.1781086368581932]
Rustプログラミング言語は、C/C++のような従来の安全でない代替言語よりも、低レベルのシステムプログラミング言語に実行可能な選択肢として、自らを確立している。
本稿では,Large Language Models(LLMs)の創発的機能を活用し,Rustコンパイルエラーの修正を自動的に提案するRustAssistantというツールを提案する。
RustAssistantは、人気のあるオープンソースRustリポジトリの実際のコンパイルエラーに対して、約74%の驚くべきピーク精度を達成することができる。
論文 参考訳(メタデータ) (2023-08-09T18:30:27Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。