How to find bugs in systems that don't exist
This version of the talk was given at Craft Conference Budapest, 2026.
Building correct distributed systems takes thinking outside the box, and the fastest way to do that is to think inside a different box. One different box is “formal methods”, the discipline of mathematically verifying software and systems. Formal methods teaches us to see a system through three different perspectives: the abstract specification behind the system, the environment it assumes, and the properties it should and shouldn’t have. Rather than gradually learn these perspectives from months of using formal methods, we will instead learn them through a forty-ish minute conference talk.
Slides are here.
Questions
These are questions I received during and immediately after the talk.