specula-org/Specula
Specula: An agentic tool for finding deep bugs in system code using TLA+
解决的问题
Specula 解决了在并发和分布式系统中发现深层复杂 bug 的难题。手动编写此类系统的正式规格耗时且需要专业知识,使得形式化验证难以扩展到大型开源项目。
工作原理
Specula 使用 AI 编码代理来自动化形式化验证流程。该过程包括以下步骤:
- 分析与规格生成:编码代理读取系统的源代码,推断正确性属性(不变量),并用 TLA+ 编写正式规格。
- 模型检测:系统对这些规格进行模型检测,以识别不变量可能被违反的情况。
- Bug 复现:当发现违反情况时,代理会分析反例,以在实际代码层面重现该 bug。
它可以在「自动模式」下实现端到端执行,也可以在「交互模式」下,由用户依次触发 code-analysis、spec-generation 和 bug-confirmation 等特定技能。
适用人群
专为希望在不手动编写每个正式规格的情况下,发现并发或分布式系统中深层架构或同步 bug 的软件工程师和研究人员设计。
主要亮点
- 自主生成 TLA+:使用基于 LLM 的代理将实现代码转换为形式化模型。
- 代码级复现:弥合抽象模型检测违规与具体代码 bug 之间的差距。
- 代理集成:支持多种编码代理,包括 Claude Code、Codex、Copilot CLI、OpenCode 和 Pi。
- 可扩展工具链:包含 MCP(Model Context Protocol)工具,用于追踪调试和规格分析。
相关
- 项目
- Dispatch
- 项目
- 项目
- 项目