論文の概要: ENCRUST: Encapsulated Substitution and Agentic Refinement on a Live Scaffold for Safe C-to-Rust Translation
- arxiv url: http://arxiv.org/abs/2604.04527v1
- Date: Mon, 06 Apr 2026 08:46:14 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-04-07 15:49:19.149572
- Title: ENCRUST: Encapsulated Substitution and Agentic Refinement on a Live Scaffold for Safe C-to-Rust Translation
- Title(参考訳): ENCRUST: 安全なC-to-Rust翻訳のためのLive Scaffold上でのカプセル化置換とエージェントリファインメント
- Authors: Hohyun Sim, Hyeonjoong Cho, Ali Shokri, Zhoulai Fu, Binoy Ravindran,
- Abstract要約: 安全なC-to-construct通訳のためのLive Scaffoldのカプセル化置換とエージェントリファインメントについて述べる。
現実世界のCプロジェクトを安全にRustに変換するための2フェーズパイプラインを提示する。
フェーズ1(カプセル化された置換)は、ABIutilラッパーを使用して各関数を2つのコンポーネントに分割する。
フェーズ2(Agentic Refinement)は、機能ごとのスコープを超えた安全でない構成を解決します。
- 参考スコア(独自算出の注目度): 5.10072982044534
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: We present Encapsulated Substitution and Agentic Refinement on a Live Scaffold for Safe C-to-Rust Translation, a two-phase pipeline for translating real-world C projects to safe Rust. Existing approaches either produce unsafe output without memory-safety guarantees or translate functions in isolation, failing to detect cross-unit type mismatches or handle unsafe constructs requiring whole-program reasoning. Furthermore, function-level LLM pipelines require coordinated caller updates when type signatures change, while project-scale systems often fail to produce compilable output under real-world dependency complexity. Encrust addresses these limitations by decoupling boundary adaptation from function logic via an Application Binary Interface (ABI)-preserving wrapper pattern and validating each intermediate state against the integrated codebase. Phase 1 (Encapsulated Substitution) translates each function using an ABI-preserving wrapper that splits it into two components: a caller-transparent shim retaining the original raw-pointer signature, and a safe inner function targeted by the LLM with a clean, scope-limited prompt. This enables independent per-function type changes with automatic rollback on failure, without coordinated caller updates. A deterministic, type-directed wrapper elimination pass then removes wrappers after successful translation. Phase 2 (Agentic Refinement) resolves unsafe constructs beyond per-function scope, including static mut globals, skipped wrapper pairs, and failed translations, using an LLM agent operating on the whole codebase under a baseline-aware verification gate. We evaluate Encrust on 7 GNU Coreutils programs and 8 libraries from the Laertes benchmark, showing substantial unsafe-construct reduction across all 15 programs while maintaining full test-vector correctness.
- Abstract(参考訳): 実世界のCプロジェクトをRustに変換するための2フェーズパイプラインである,安全なC-to-Rust翻訳のためのLive Scaffold上でのカプセル化置換とエージェントリファインメントを提案する。
既存のアプローチでは、メモリセーフな保証なしにアンセーフな出力を生成したり、関数を独立して翻訳したり、クロスユニットタイプのミスマッチを検出したり、プログラム全体の推論を必要とするアンセーフなコンストラクトの処理に失敗したりしている。
さらに、関数レベルのLLMパイプラインは、型シグネチャの変更時にコーディネータの更新を必要とするが、プロジェクトスケールのシステムは、実際の依存性の複雑さの下でコンパイル可能な出力を生成することができないことが多い。
Encrustは、アプリケーションバイナリインタフェース(ABI)保存ラッパーパターンを介して関数ロジックから境界適応を分離し、統合されたコードベースに対して各中間状態を検証することで、これらの制限に対処する。
フェーズ1(カプセル化置換)は、ABI保存ラッパーを使用して各機能を変換し、元の生ポインターシグネチャを保持する呼び出し子透明シムと、クリーンでスコープ制限されたプロンプトでLLMがターゲットとする安全な内部関数の2つのコンポーネントに分割する。
これにより、呼び出し側の更新をコーディネートすることなく、障害を自動的にロールバックする独立した機能毎の型変更が可能になる。
決定論的で型指向のラッパー除去パスは、翻訳が成功した後にラッパーを除去する。
フェーズ2(Agentic Refinement)は、静的なmutグローバル、スキップされたラッパーペア、翻訳失敗など、機能単位の範囲を超えて安全でない構造を解決し、ベースライン対応の検証ゲートの下でコードベース全体で動作するLLMエージェントを使用する。
我々は,7つのGNU Coreutilsプログラムと8つのライブラリをLaertesベンチマークで評価した。
関連論文リスト
- From Inference Routing to Agent Orchestration: Declarative Policy Compilation with Cross-Layer Verification [10.651054435747385]
Semantic Router DSLは、要求ごとの推論のために本番環境にデプロイされる非チューリング完全ポリシー言語である。
本稿では、ステートレスな要求ごとのルーティングからマルチステップのエージェントルーティングまで、同じ言語を拡張した。
論文 参考訳(メタデータ) (2026-03-28T15:04:31Z) - RealSec-bench: A Benchmark for Evaluating Secure Code Generation in Real-World Repositories [58.32028251925354]
LLM(Large Language Models)は、コード生成において顕著な能力を示しているが、セキュアなコードを生成する能力は依然として重要で、未調査の領域である。
我々はRealSec-benchを紹介します。RealSec-benchは、現実世界の高リスクなJavaリポジトリから慎重に構築されたセキュアなコード生成のための新しいベンチマークです。
論文 参考訳(メタデータ) (2026-01-30T08:29:01Z) - Qwen3Guard Technical Report [127.69960525219051]
Qwen3Guardは、多言語安全ガードレールモデルである。
生成的Qwen3Guardは、きめ細かい三級判定を可能にする命令追従タスクとして安全分類をキャストする。
Stream Qwen3Guardは、リアルタイム安全監視のためのトークンレベルの分類ヘッドを導入している。
論文 参考訳(メタデータ) (2025-10-16T04:00:18Z) - 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) - 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) - ReF Decompile: Relabeling and Function Call Enhanced Decompile [50.86228893636785]
逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
論文 参考訳(メタデータ) (2025-02-17T12:38:57Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。