One principle that you have to keep all the time is “Cause-to-Effect”. Sherlock Holmes would be the greatest debugger if he lived in our computer age. He masters in reasoning skill, so that with a little scratch on a Dr. Watson’s shoe, he could entail back to Dr. Watson ran back to the house.
Debugging with “Cause-to-Effect” principle in mind leads to deduce from bulky erroneous code into few several error causing relevant lines. We recursively look code backward and keep asking “Who did it?” over and over. Then, we will eventually reach the root of error, the defect. Pex is an automated tool for checking corner cases. It injects possibly causing error inputs and show a result for each input. Double checking both by hands and by tools will give much confident that code is bug-free (just confident).