astrio-labs/forall

Forall (∀) is a coding agent from Astrio that helps developers build correct software by generating spec-driven code alongside machine-checkable proofs.

解决的问题

Forall 解决了软件审查和验证中的瓶颈问题。尽管测试和类型系统提供了一定程度的保障,但它们无法证明代码确实执行了其预期功能。Forall 利用语言模型降低了形式化验证的门槛,自动化了编写规格、契约和不变量等繁琐过程,这些是验证器确保代码正确性所必需的。

工作原理

Forall 将 AI 集成到软件开发生命周期中,生成正确性的证据。它为每个需求提供四个级别的证据:

  1. 规格追踪:需求与代码相关联。
  2. 性质测试:生成器对大量输入进行检查以寻找反例(统计证据)。
  3. 契约化:为代码编写了可被机器验证的契约。
  4. 已证明:形式化证明器确认契约的义务已满足。

适用人群

专为开发关键任务或受监管软件(如遵循 IEC 62304 或 DO-178C 标准)的开发者设计,这些场景要求具备可追溯性和形式化正确性证据。

主要亮点

  • 双接口支持:提供完整的编码代理 CLI,也可作为 MCP(Model Context Protocol)服务器,供 Cursor 或 Claude Code 等客户端使用。
  • 多语言支持:支持 TypeScript、Python、Rust、Java 和 C,各语言的验证能力有所不同。
  • 灵活的模型集成:支持托管模型或 BYOK(Bring-Your-Own-Key)方式接入 OpenAI、Anthropic、Google Gemini、Azure 和 Amazon Bedrock。
  • 基于证据的评分:根据机器生成的最强证据对需求进行评分,而非简单的通过/失败标记。

相关

  • 项目
  • Dispatch
  • 项目
  • 项目
  • 项目