Maurice Wilkes (1950s)
As soon as we started programming,
we found to our surprise that it wasn't
as easy to get programs right as we
had thought. Debugging had to be
discovered. I can remember the
exact instant when I realized that a
large part of my life from then on
was going to be spent in finding
mistakes in my own programs.
Writing code is hard
But writing bugs is easy!
Everyone does it all the time without
even thinking about it.
Estimates in GOOD code there are 2
to 4 defects per 1,000 lines
You’re not that good
You will spend many hours debugging
If a person who debugs code is a
debugger than a person who writes
the bugs must be a... bugger?
Always have a fighter pilot in
Look Around Debugging
Where there’s smoke...
... research shows that bugs tend to
When you fix a bug look for more in
the same spot.
5 bugs in a single line
dir.permissions = 666; // Make the file writable
Bug 1: updates permissions without
Bug 2: doesn’t make the file writable
Bug 3: creates security hole
Bug 4: used decimal not octal
Bug 5: comment is incorrect
Remember This One Thing!
The most effective debugging tools
are: your brain, a unit test, and the