メモリ安全なRustコードは、国際電気標準会議(IEC)規格で測定されるような電子システムの安全性を必要とするデバイスに、これまでより広く適用できるようになった。
安全・ミッションクリティカルシステム向けのオープンソースRustコンパイラツールチェーンであるFerroceneの最新アップデートでは、コアライブラリの一部がIEC 61508(SIL 2)の認証を取得した。
「Rustはcoreなしでは組み込みや安全クリティカル環境で実用的に動かせませんし、coreはFerroceneのようなツールチェーンを使った厳密な検証なしには認証を受けられません」と、Ferrous SystemsのマネージングディレクターであるFlorian Gilcher氏はブログ投稿で述べている。「今回のリリースは、安全クリティカル分野のニーズに応えるため、最新のRustコンパイラ、そして今や認証済みライブラリを提供するという当社のコミットメントを改めて示すものです。」
メモリ安全性に関するバグを撲滅することは、公共・民間セクターのシステムのセキュリティを懸念する人々にとって優先事項となっている。しかし、組み込みシステム向けの開発は依然として主にCやC++コードの使用に依存しており、これらはメモリ安全性の課題に直面している――この問題に対処する可能性があるのが、Fil-Cと呼ばれる新しいC/C++コンパイラだ。
Rustコアライブラリの一部が認証されたことで、規制産業により多くのRustコードが導入される可能性が出てきた。このプログラミング言語が持つ強力なメモリ安全性の保証は、メモリ関連のエラーを減らし、関連アプリケーションの安定性を向上させることが期待される。ただし、その過程で新たなバグが持ち込まれないことが前提となる。
SILはSafety Integrity Level(安全度水準)を表し、システムの安全性能を示す指標である。要求時故障確率を要約したもので、SIL 4が最も信頼性が高く、SIL 1が最も低い。
SIL 4の指定は、故障が多数の死傷者をもたらす可能性があるため最大限の信頼性が求められるシステム――原子炉制御や鉄道システムなど――に適している。SIL 3は、化学プラント設備、医療機器、酸素センサーなど、故障時に高いリスクを伴うシステムに適用されることが多い。SIL 2は産業用ロボットに適用される場合がある。そしてSIL 1は、防犯カメラや建物の照明などに適している。
認証機関のTÜV SÜDはすでに、ISO 26262(ASIL D)、IEC 61508(SIL 3)、IEC 62304(クラスC)に基づき、安全重視の開発向けにFerroceneツールチェーンを認証している。同社はまた、SIL 4およびDO-178C(DAL C)の保証レベル達成に向けた適格性評価も支援している。
SonairおよびKiteshieldとの協力により、Ferroceneの開発者たちはコアライブラリのかなりのサブセットについて、IEC 61508(SIL 2)規格に適合する認証を取得した。
Ferrocene認証済みのコアサブセットにより、開発者はOption、Clone、str、ポインタ、およびスライスなどのほとんどのプリミティブ型といった型や関数にアクセスできる。このサブセットは、x86_64 Linux、x86_64またはArmv8-A上のQNX Neutrino、あるいはArmv8-AまたはArmv7E-M上のRTOSといった認証対象の開発ターゲットでの利用を想定している。
SonairはArmv8-AおよびArmv7E-Mサブシステムを搭載したロボットにおいて、音響検知および測距(ADAR)のためにFerroceneを使用している。Kiteshieldは、手動操作機と自律機械の衝突を防止することを目的とした、鉱山向けRustベースの超広帯域(UWB)安全システムを開発している。®
翻訳元: https://go.theregister.com/feed/www.theregister.com/2025/12/04/rust_core_library_partly_polished/