安全臨界ソフトウェア認証と Almide のギャップ

人命に関わるソフトウェア(航空・自動車・医療)を正式投入するために要求される認証基準と、Almide の現在地の差分。要点は「機械証明されたメモリ安全な言語」は射程内だが、「安全臨界認証をそのまま満たす完全性」は別プロジェクト規模、という見立て。

3つの主要基準

基準領域厳格度の段階
[[do-178c|DO-178C]]航空(飛行制御)DAL A–E(A が最も厳格)
[[iso-26262|ISO 26262]]自動車(機能安全)ASIL A–D
[[iec-62304|IEC 62304]]医療機器ソフトウェアClass A/B/C

DO-178C には形式手法を認証エビデンスに使える補遺 DO-333、ツール認定の DO-330 があり、機械証明を正面から評価に組み込める枠組みは既に存在する。

「正しいコード」を超えて要求されるもの

認証は「動く」「正しい」だけでは通らない。質的に別のものが要る。

  1. エンドツーエンドの証明連鎖 — ソース→中間表現→バイナリまで、証明が途切れず繋がっていること。一部だけ証明されても安全臨界では意味を持たない。
  2. 検証範囲の網羅 — メモリ安全だけでなく、終了性・数値オーバーフロー・配列境界・並行性・機能仕様との一致(functional correctness)まで。
  3. ランタイム/ホストの認証 — コンパイラが完璧でも、実行系(WASM ランタイム等)が未認証なら全体は通らない。
  4. プロセスとツール認定 — tool qualification、要件トレーサビリティ、独立検証。これは技術というより認証の世界(重い形式プロセス)。

Almide の資産(本物)

これらは「完全性を志向する設計」としては正しい土台。

認証基準とのギャップ

#ギャップ現状
1証明連鎖が閉じていないPerceus の証明は IR レベルまで。IR→WASM が証明対応で繋がっていない。Phase 2(RcDec 数と rc_dec 呼び出し数の一致検証)が未着手
2検証範囲がメモリ+スタック限定終了性・オーバーフロー・境界・並行性・機能仕様は未カバー
3ランタイム未認証wasmtime 等の実行環境が安全臨界認証を持つか(SOUP 扱い)
4プロセス/ツール認定なしtool qualification・トレーサビリティ・独立検証

ギャップ 1 は 差分ゲートの思想(出力照合で正しさを担保)を証明レベルに引き上げる延長線上にある。

結論: 2つのゴールを分ける

ゴール到達可能性
機械証明されたメモリ安全性を持つ極めて信頼性の高い言語射程内。Perceus の機械証明という核があり、現実的なソフトの大半より高い保証を狙える
医療機器・飛行制御に正式投入できる認証付き完全性別プロジェクト規模。(a) IR→WASM の証明連鎖を閉じる、(b) 検証範囲を終了性・境界・並行性・機能仕様へ広げる、(c) ランタイム/ツール認定 — 別次元の投資が要る

見立て(2026-05 時点の評価)。前者は今の延長で十分到達可能、後者は今の延長だけでは届かない。混同しないことが現実的なロードマップの鍵。

関連

Graph