Rust と安全臨界 (Ferrocene / RustBelt)

Rust は安全臨界(航空・自動車・医療)で使えるか。言語の素性(メモリ安全)は向いているが、SOUP/認証の壁は同じく立ちはだかる。Rust を現実に投入可能にしているのは Ferrocene(認定済みツールチェーン)+ RustBelt(証明済み型システム) の2本柱。「WASM はランタイムが未認証でダメ」と対比すると、Rust には認定路が既にある点が決定的に違う。

3層で見る Rust の安全臨界適性

層Rust の状態究極の比較対象
言語借用チェッカーで GC 無しメモリ安全(設計で保証)—
ツールチェーンFerrocene が認定済み(rustc は本来 SOUP)CompCert(検証済み C コンパイラ)
形式的基盤RustBelt が型システムの健全性を機械証明—

Ferrocene — 認定済み Rust ツールチェーン

Ferrocene = Ferrous Systems が rustc の下流を TÜV SÜD で tool qualification したもの。コンパイラ=SOUP 問題を正面から解く。

→ 同等に広く認定された WASM 実行系がまだ乏しいのと対照的。

RustBelt — 型システムの健全性を機械証明

Rust の安全性主張は long らく「証明されていない仮説」だった。RustBelt(Jung et al., POPL 2018, MPI-SWS)が、現実的な Rust 部分集合の安全性を Coq 上の分離論理フレームワーク Iris で機械証明した初の成果。

「認定」と「証明」は別物

Rust が持つもの・持たないものを混同しない:

言語以外の留保

まとめ — Almide / WASM との関係

8原則で言えば、Rust は ①⑤(言語の安全)を設計で稼ぎ、Ferrocene が ⑥(依存物=ツールの正当化)の一部を埋める。だが ③④⑦⑧(プロセス・アーキテクチャ冗長・トレーサビリティ・独立検証)は依然別物。言語選定は土台であって認証そのものではない。

皮肉な多層構造: Almide のコンパイラは Rust 製。Almide が Perceus を Lean4 で証明しても、それを吐く rustc/LLVM が SOUP — 証明と SOUP が層をなす。Almide にとっての現実的含意は、自前で IR→WASM の証明連鎖を閉じるか、Ferrocene のような認定路に乗るか、の二択に近い。

関連

Graph