Salt v1.0.0: Z3定理証明機能をコンパイラに統合したシステム言語
Salt v1.0.0 – a systems language with Z3 theorem proving in the compiler
Saltは、コンパイラにZ3定理証明機能を統合したシステム言語v1.0.0をリリースしました。この言語は、ランタイムコストなしで安全性を検証し、ビルド時にZ3で証明された契約(requires/ensures)を適用します。ガベージコレクションや借用チェッカーは使用せず、代わりにアリーナベースのメモリ管理を採用しています。SaltはMLIRコンパイラインフラストラクチャを使用し、clang -O3と同等のパフォーマンスを目指しています。Llama 2推論エンジン、KeuOSマイクロカーネル、MNISTトレーニング用ニューラルネットワーク、Redis互換インメモリデータストア、2Dレンダリングエンジンなど、様々なシステムがSaltで記述されており、これらのシステムでは配列アクセス境界のZ3検証などが実装されています。また、Saltにはコンテンツアドレス指定されグローバルにキャッシュされるアーティファクトを持つパッケージマネージャー「sp」が付属しており、依存関係の契約検証も自動で行われます。
- Salt v1.0.0がリリースされ、コンパイラにZ3定理証明機能を統合したシステム言語として公開された
- Llama 2推論エンジン、KeuOSマイクロカーネル、Redis互換データストアなど複数の実用的システムがSaltで記述・検証されている
- SaltはMLIRコンパイラインフラストラクチャを使用し、clang -O3と同等のパフォーマンスを目標としている
SaltはZ3定理証明機能をコンパイラに統合し、ランタイムコストなしでメモリ安全性を検証できる点が画期的。既存のRustの借用チェッカーとは異なるアプローチで、且つclang -O3同等のパフォーマンスを標榜していることから、システムプログラミング言語の新たな選択肢として注目に値する。Llama 2推論やRedis互換データストアなど実用的なシステムがSaltで記述・検証済みであり、実用性の証明が進んでいる点も重要。パッケージマネージャ「sp」が依存関係の契約検証を自動化する設計も、エコシステム構築への意欲を示しており、今後の開発者コミュニティの拡大次第では産業界での採用が加速する可能性がある。