From the title, I thought that this was going to be a tutorial on using a symbolic debugger (which I have grown to despise in a web-based world). But instead, it is an overview of many of the ways one can find defective code, including lots of “social” techniques for finding the problems without even (necessarily) looking at the code.
I’m pretty sure I’ve used everything on his list at one point or another.
I would also say that recently I have found the more unit tests I write, the less I have to use these techniques…