F* 是一种通用的、以证明为导向的编程语言,专为高可靠性软件而设计。它将纯函数式编程、带有副作用的编程与依赖类型相结合,并利用 SMT 求解器和基于策略的定理证明来验证代码的正确性。
F* 是开源的,由微软研究院、法国国家信息与自动化研究所(Inria)及社区共同开发。虽然它默认使用 OCaml,但也支持通过 KaRaMeL 和 Vale 等专用工具将其提取到 C、Wasm、F# 和汇编语言。这种多功能性使其成为需要严格安全性和高性能项目的理想选择。
其关键应用包括 **Project Everest**,该项目生产的经过验证的加密库(如 HACL*、EverCrypt)已被 Linux 内核、Mozilla Firefox 和 Tezos 区块链等主流系统使用。此外,**EverParse** 提供经过形式化验证的高性能二进制解析器,已应用于微软 Azure 和 Windows Hyper-V。
除了密码学和系统领域,F* 还是形式化方法领域的一个活跃研究平台,涵盖了用于并发性、分离逻辑和信息安全的高级逻辑。它被广泛应用于学术界和工业界,用于开发经过验证的编译器、安全协议和稳健系统,通过数学证明确保关键软件免受漏洞攻击。