Anticipating bugs properly is half the battle. If you use all of the tools at your disposal, you might even win the war. Academics who study software engineering have accumulated an impressive number ...