This is an archive of the old software engineering chair at Saarland University. It is no longer up-to-date.

Beautiful Debugging
by Andreas Zeller

Andy Oram, Greg Wilson (Ed.), Beautiful Code, Chapter 28, O'Reilly Media, Inc., June 2007.

ISBN: 0596510047

See also

More information is available at http://beautifulcode.oreillynet.com/.

Abstract

"My name is Andreas, and i have been debugging." Welcome to Debuggers Anonymous, where you can tell your debugging story and find relief in the stories of others. So you have spent another night away from home? Good thing you've only been in front of the debugger. So you still cannot tell your manager when that showstopper will be fixed? Let's hope for the best! The fellow in the cubicle next to you brags about searching for a bug for 36 consecutive hours? Now that's impressive!
 
No, there is nothing glamorous about debugging. It is the ugly duckling of our profession, the admission that we are far from perfect, the one activity that is the least predictable or accountable - and a constant impetus to feelings of remorse and guilt: "If only we had done better right from the start, we wouldn't be stuck in this mess." The defect is the crime; debugging is the punishment. Let us assume, though, that we have done all we can to prevent errors. Yet, from time to time, we will find ourselves in a situation where we need to debug. And as with all other activities, we need to handle debugging in the most professional, maybe even "beautiful" way.
 
So, can there be any beauty in debugging? I believe there can. In my own life as a programmer, there have been a number of moments when I encountered true beauty in debugging. These moments not only helped me solve a problem at hand, but actually evolved into new approaches to debugging as a whole---approaches that are not only "beautiful" in some way, but actually boost your productivity in debugging. This is because they are systematic---they guarantee to guide you toward the problem solution---and partly even automatic---they do all the work while you pursue other tasks.
 
Curious? Read on.

BibTeX Entry

@inbook{zeller-beautifulcode-2008,
    title = "Beautiful Debugging",
    author = "Andreas Zeller",
    year = "2007",
    month = jun,
    booktitle = "Beautiful Code",
    chapter = "28",
    editors = "Andy Oram and Greg Wilson",
    publisher = "O'Reilly Media, Inc.",
    ISBN = "0596510047",
}

Show all publications of the Software Engineering Chair.