Invariants: A Better Debugger? - Marc's Blog

Like many of my blog posts, this started out as a long email to a colleague. I expanded it here because I thought folks might find it interesting.

Click to view the original at

Hasnain says:

I found this interesting and kept nodding along - not just cause I worked on something called Invariant Detector. Programs need to have a model of the world and using invariants helps me get the machines to check my work. It’s hard to imagine programming without them.

“Invariants are a powerful tool for reasoning about algorithms, data structures, and distributed systems. It's worth thinking through a set of invariants for any complex system or algorithm you design or implement. It's also worth building your implementation in such a way that even global invariants can be easily tested in a deterministic and repeatable way.”

Posted on 2023-09-02T14:10:56+0000