Awesome Reviewers

Verification · Formal · Proofs and specifications

Model checking a design

Write a TLA+ spec and check invariants over all reachable states.

How to build it

  1. Write a spec for the part where a bug would be costly, such as commit or leader election logic.
  2. State the safety invariants and check them over all reachable states with the TLA+ tools.
  3. Run the checker in CI on every change to the spec file.

Signals in a repository

  • *.tla spec files with matching .cfg configuration files.
  • A CI job that runs the TLA+ tools on the spec.
  • Comments in the code that name the spec action they implement.

In practice

1 repository runs a tool for this check in the scanned set.

  • tla-plus · 1 repos