TLA+ = formal language for modeling software above the code level and hardware above the circuit level by Leslie Lamport (of vector clock and Paxos fame, among other things.)
SQLite recently patched a rare, 16-year-old bug in its Write-Ahead Log (WAL) checkpointing system that could lead to database corruption. This post from Canonical's dqlite (distributed SQLite) team walks through how they used TLA+ to formally model SQLite's internal behavior, isolate the exact sequence of steps needed to trigger the corruption, and determine whether their own system was vulnerable.
TLA+ = formal language for modeling software above the code level and hardware above the circuit level by Leslie Lamport (of vector clock and Paxos fame, among other things.)
https://lamport.azurewebsites.net/tla/tla.html
SQLite recently patched a rare, 16-year-old bug in its Write-Ahead Log (WAL) checkpointing system that could lead to database corruption. This post from Canonical's dqlite (distributed SQLite) team walks through how they used TLA+ to formally model SQLite's internal behavior, isolate the exact sequence of steps needed to trigger the corruption, and determine whether their own system was vulnerable.