Item description for The Science of Debugging by Matthew A. Telles & Yuan Hsieh...
This book, written by two master programmers, is the bible on debugging software. It goes much further than other debugging books by offering practical tips on minimizing bugs and making them easier to find when they do occur. It includes chapters on testing and maintenance as they relate to debugging. The book describes the nature of bugs, how they slip through testing, and the things various bugs have in common. These discussions are supported by case studies of famous and not-so-famous bugs and industrial/academic research and experiments. Each chapter concludes with a "bug problem" and answers to these problems are provided in the last chapter. Above all, this is a book written by developers who've spent years tracking down bugs and offers practical, hands-on advice to make that task more predictable.
Promise Angels is dedicated to bringing you great books at great prices. Whether you read for entertainment, to learn, or for literacy - you will find what you want at promiseangels.com!
Est. Packaging Dimensions: Length: 1.5" Width: 7.5" Height: 9.5" Weight: 1.9 lbs.
Release Date Jul 1, 2002
Publisher Paraglyph Press
ISBN 1932111182 ISBN13 9781932111187
Availability 0 units.
More About Matthew A. Telles & Yuan Hsieh
Matt Telles is a senior software developer at Thompson Reuters and the author of eight books on software development subjects ranging from programming to testing. With over 25 years of experience as a developer, manager, and tester, his experiences has taken him through the mainframe world, past PCs and into the cloud and beyond. He's worked on everything from Linux and MS-DOS to Windows 8 and the Cloud.
Reviews - What do customers think about The Science of Debugging?
Consistently off topic Jun 2, 2006
OK, this book isn't really bad. But it has very, very little to do with debugging. Most of the book is given over to general software engineering (requirements, design, coding and test). Perhaps 1/4 of the book is really about debugging, and that seems to consist of two things - logging and tracing - over and over again.
Another thing that I found that grated on my nerves was the incessant references to the holy grail (allegedly) of computing, the 'production server'. I also assume that this is implicitly a 'windoze production server', since the authors seem to be of the opinion that if you even think of installing some software or patch on the server, then you are doomed to have all sorts of problems. They don't even seem to consider the possibility of running tools over the network, without installing them on the sacrosanct server machines.
There is zero coverage of debug tools (they say "read the manual of your debugger"). They do include code coverage, memcheck, source browser and defect tracking as debug tools. I wouldn't.
If you want a book that DOES cover debugging (and also some general software engineering, but less overwhelmingly so), then take a look at "Why Programs Fail" by Andreas Zeller.
Rich with wisdom Dec 21, 2001
I admit that I bought this book fully expecting to be "underwhelmed." Instead, I was pleasantly surprised as to how much this work had to offer.
They begin the book with this interesting premise: "One of the groups that is likely to discount this book is the system architects camp, although they are the ones that are most likely to be aided by understanding the root causes of bugs and how they can be avoided." After reading this (which appeared on page 6) I decided to mark
each page that contained an important architectural-level observation or recommendation. By the end of the book, I had nearly 40 such pages identified!
The work is well researched with good references and footnotes. It is also rich with real-world examples of horror stories and debugging nightmares. I found myself filling the margins with recollections of my own, similar experiences.
The book is not without faults. There seems to be a great deal of repetition and there were several points where I wished the book had been more carefully edited. I didn't agree with everything presented and I think they actually got a couple of things completely wrong. Finally, there is at least one puzzle presented where the authors challenge you to "find the bug" where even their answer wasn't complete! [See page 307--an exercise for the reader.]
The author's aim was to discuss debugging but the book contained as many Software Engineering observations as general debugging tips. I believe that these general observations and recommendations strengthen the work considerably.
Any college course in Software Engineering would benefit by including this book as required reading. Any project lead organizing a new product development effort should take an hour and skim though this book again (after an initial, careful reading). Finally, any programmer who wishes to build for debug-ability would do well to review this work.
The book's one sentence synopsis comes directly from the authors (page 109) "One of the most critical (and most overlooked) aspects of debugging is to understand why bugs occur and where they come from." I agree. This book does a marvelous job to address that and much more. I highly recommend it.
Not as helpful as it could be Aug 5, 2001
In reading the book, there were many great platform idependant ideas for debugging applications. I think it would have been more helpful if the book would have at least cursorily implemented some of those ideas in code (my preference being C/C++). Some examples of what I mean are it says that one of the oldest ways of debugging applications use a log. It even goes to say what elements to include to make it as useful as possible. I think it would have been better to include the code implementing a logger they describe.