Debugging By Thinking: A Multidisciplinary Approach

Maybe you re ready, after all these years, to become a Finder, not a Loser.
Professor Solomon
This chapter explains the methods of the master of finding lost things, Professor Solomon, and how they can be applied to debugging software. Professor Solomon s work purports to be nonfiction, so the treatment is different from that of Holmes and Wimsey. Part of Professor Solomon s work contains twelve principles for finding lost things. This chapter applies those principles to finding the causes of bugs.
Professor Solomon isn t a professor, nor is he a detective. His advice on how to find lost objects is nonetheless in the best tradition of Sherlock Holmes and Lord Peter Wimsey. They spend little of their literary lives looking for lost objects. Real detectives, however, are often hired to find missing persons and sometimes missing objects as well.
Most of Professor Solomon s book is devoted to his twelve principles for finding lost objects:
Don t look for it.
It s not lost you are.
Remember the three c s.
It s where it s supposed to be.
Look for domestic drift.
You re looking right at it.
The camouflage effect.
Think back.
Look once, look well.
The eureka zone.
Tail thyself.
It wasn t you.
Our approach to applying the professor s method is to make an analogy between lost objects and unknown causes of defects. The lost object is instead an action or lack of action occurring...