Autonomous Specifications
Generate TLA+ specifications and correctness properties directly from real system code, continuously refining them throughout the bug-finding process.
Specula uses coding agents to derive TLA+ specifications from real system code, validates them against implementation traces, and model-checks them to uncover violations it can reproduce in code.
Generate TLA+ specifications and correctness properties directly from real system code, continuously refining them throughout the bug-finding process.
Keep the specification aligned with real system behavior while uncovering concurrent behaviors ordinary tests miss.
Bring each finding back to the implementation and reproduce it as a concrete failure.
Quick start
Install Specula, configure your coding agent, and point it at a local system repository.
Clone the project and install its command-line tool.
Run setup once to install the skills and supporting tools.
Give Specula a name and the path to your system.
git clone https://github.com/specula-org/Specula.git
cd Specula
uv tool install -e .
specula setup
Default setup. The same installation works with every supported coding agent.
Broad agent support
One workflow across supported agent CLIs, with actively tested model recommendations.
SUPPORTED
ACTIVELY TESTED
Some confirmation workflows require provider-approved access. Learn more
Bug List
We are preparing a structured view of bugs found by Specula, including affected systems, evidence, and reproduction status.
View the current list@misc{cheng2026specula,
title = {{Specula}: Scaling formal specifications for autonomous
model checking of system code},
author = {Qian Cheng and Saad Mohammad Rafid Pial and Ruize Tang and
Yiming Su and Emilie Ma and Finn Hackett and
Ivan Beschastnikh and Yu Huang and Tianyin Xu},
year = {2026},
eprint = {2607.25333},
archivePrefix = {arXiv},
primaryClass = {cs.SE},
url = {https://arxiv.org/abs/2607.25333}
}
Community & support