Debugging - Using Hypotheses to Track Down the Culprit

Steven Zeil

Old Dominion University, Dept. of Computer Science

Table of Contents

1. Rules of Debugging
1.1. Actual message received from a student
1.2. Wasted Effort
2. Don't Guess, Hypothesize
2.1. Guessing
2.2. Hypothesizing
2.3. Debugging as a Series of Science Experiments
3. Narrowing the Search
3.1. Divide and Conquer
3.2. Multiple Possible Causes
4. If you didn't fix it, it ain't fixed!
4.1. Grounds for Suspicion