Notes on Specification-Driven Development and Reliability
Writing and talks from the edge cases.
I'm Dr. Thomas Pani. I write about executable specs, model-based testing, formal verification, and how to find bugs that show up in protocols, platform, infrastructure, and backend systems.
Notes on Specification-Driven Development and Reliability
Writing and talks from the edge cases.
I'm Dr. Thomas Pani. I write about executable specs, model-based testing, formal verification, and the production bugs that only show up after a long week in platform, infrastructure, SRE, and protocol systems.
Talks & Writing
I give talks and workshops on specification-driven development, fuzzing, executable specs, model-based testing, formal methods, and protocol safety.
From time to time, I also write about what I learn along the way.
Protocol-State Guided Fuzzing of Distributed Systems
2026-07-06How annotations could help to drive deep behavior and scenario coverage for distributed databases, consensus algorithms, and replicated storage systems.
Cannot MBT with PBT
DraftProperty-based testing can look a lot like model-based testing, until the next valid input depends on values the SUT just returned. Still being written.
Formal Verification of the Aztec Governance Protocol
2025-12-09An in-depth report of formally verifying Aztec's governance protocol, highlighting key decisions and outcomes.
Talk: 25-Minute Solidity Fuzzer: Fuzzing Smarter, Not Harder
2025-07-02
Recording of my hands-on workshop from Protocol Berg 2025 in Berlin.
Build a functional EVM/Solidity smart contract fuzzer in Python in just 25
minutes!
Why Formal Verification Isn't Just Fancy Exhaustive Testing
2025-06-28A deep dive into the differences between formal methods and exhaustive testing, and why they are not interchangeable.
Fuzzlands: Map of the Wider Fuzzing Landscape
2025-05-27A practitioner's guide to fuzzing tools, techniques, and their evolution.
Book a 30-minute fit call
Email me with 2-3 sentences about the subsystem, the risk, and the timeline. No preparation is needed.
Based in Vienna, Austria.
Available across Europe and internationally.
I typically respond within one business day.
Email me to book a fit call- Good fit: real testing pain in a critical stateful system, before launch, after an incident, before a migration, or before an external review.
- Not a fit: more unit tests, broad code coverage, generic security scanning, or a document nobody will run.
- First call: we check fit and a small next step. For a pilot or review, we later agree on scope, deliverables, timeline, and required access.