TLA+ is a formal specification and verification language to help engineers design, specify, reason about, and verify complex software and hardware systems. It is widely used to verify the algorithms in distributed systems.
In TiDB, we use TLA+ for the following purposes:
- To verify the distributed consensus algorithm - Raft.
- To verify the implementation of distributed transaction.
For further information about TLA+, see tla-plus-resources.