SuperAPI AI 工具集

fstar-verification

编程与开发

查看项目

更新于 10-16 00:05

技能介绍

用途:该技能面向使用 F*(F-star)构建经形式化验证的软件。F* 是面向证明的函数式编程语言,结合依赖类型、细化类型、单子效果与 SMT 自动验证,适合安全关键系统、密码库与协议、内存安全底层代码、并发与分布式系统、解析器安全属性、算法与数据结构正确性证明,以及从规范生成经验证的实现。

主要能力:类型系统支持依赖函数类型、细化类型(如 x:int{x > 0})、宇宙多态、归纳数据类型与索引类型;效果系统区分纯计算 Tot、可能发散 Dv、状态 ST/STATE、异常 Exn/EXN,并支持自定义效果与效果多态;验证通过 Z3 自动证明,失败时可用 FStar.Tactics 交互式证明与元编程自定义自动化;支持引理、SMTPat 模式控制量词实例化、ghost 代码(抽取时擦除);可抽取到 OCaml(默认)、F#、C(经 KaRaMeL)、WebAssembly 等。

使用方式:按“写规范(类型)→ 写实现(项)→ 生成验证条件 → Z3 自动证明或写显式证明 → 抽取到目标语言”的流程工作。抽取示例命令:fstar --codegen OCaml MyModule.fst;C 抽取使用 fstar --codegen krml MyModule.fst 与 krml MyModule.krml -o program。

适用场景与限制:适合 bug 代价极高的领域(航空航天、医疗、金融)及 HACL*、Project Everest、EverParse 等已验证项目。资料未提供安装方式、收费、价格、平台支持范围与性能数据,暂未提供。