Automotive Holiday Deals Books Holiday Gift Guide Shop Men's Athletic Shoes Learn more nav_sap_plcc_6M_fly_beacon Adele egg_2015 All-New Amazon Fire TV Subscribe & Save Gifts Under $50 Amazon Gift Card Offer bf15 bf15 bf15 $30 Off Amazon Echo $30 Off Fire HD 6 Kindle Black Friday Deals Outdoor Deals on DOTD
Why Programs Fail: A Guide to Systematic Debugging and over one million other books are available for Amazon Kindle. Learn more

Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your email address or mobile phone number.

Why Programs Fail: A Guide to Systematic Debugging 1st Edition

6 customer reviews
ISBN-13: 978-1558608665
ISBN-10: 1558608664
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Buy used
Condition: Used: Very Good
Comment: Almost no wear to cover pages perfect
Access codes and supplements are not guaranteed with used items.
27 Used from $6.22
More Buying Choices
9 New from $34.82 27 Used from $6.22
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Get Up to 80% Back Rent Textbooks

Special Offers and Product Promotions

  • Take an Extra 30% Off Any Book: Use promo code HOLIDAY30 at checkout to get an extra 30% off any book for a limited time. Excludes Kindle eBooks and Audible Audiobooks. Restrictions apply. Learn more

Editorial Reviews


"James Madison wrote: 'If men were angels, no government would be necessary.' If he lived today, Madison might have written: 'If software developers were angels, debugging would be unnecessary.' Most of us, however, make mistakes, and many of us even make errors while designing and writing software. Our mistakes need to be found and fixed, an activity called debugging that originated with the first computer programs. Today every computer program written is also debugged, but debugging is not a widely studied or taught skill. Few books, beyond this one, present a systematic approach to finding and fixing programming errors.” —from the foreword by James Larus, Microsoft Research

"Andreas Zeller seeks to equip you with a comprehensive arsenal of techniques and the appropriate mind-sets for employing them." Rick Wayne, Software Development, January 2006

Book Description

The first complete guide to systematic debugging

Hero Quick Promo
Holiday Deals in Kindle Books
Save up to 85% on more than 1,000 Kindle Books. These deals are valid until November 30, 2015. Learn more

Product Details

  • Paperback: 480 pages
  • Publisher: Morgan Kaufmann; 1 edition (October 25, 2005)
  • Language: English
  • ISBN-10: 1558608664
  • ISBN-13: 978-1558608665
  • Product Dimensions: 7.3 x 1.1 x 9.3 inches
  • Shipping Weight: 2.2 pounds
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (6 customer reviews)
  • Amazon Best Sellers Rank: #2,136,528 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

5 star
4 star
3 star
2 star
1 star
See all 6 customer reviews
Share your thoughts with other customers

Most Helpful Customer Reviews

15 of 17 people found the following review helpful By Fernando Berzal Galiano on July 26, 2006
Format: Paperback
"Why programs fail" attempts to provide a systematic approach to finding, reproducing, and fixing programming errors, with a strong focus on the automation of many debugging techniques. Zeller covers the whole debugging process:

- Problem-tracking systems are discussed, not only as tools for tracking and managing problem reports, but also as valuable idea repositories and requirements management systems.

- You will also find advice on how to set up automated tests that support debugging tasks.

- Apparently straightforward, reproducing problems can be harder that it seems, as "heisenbugs" testify (i.e. when debugging tools interfere with the problem so that it disappears when it is being observed).

- Delta debugging, an interesting application of the classical divide-and-conquer strategy, provides an automated method to simplify test cases (and focus on the truly relevant part of the problem).

- Applying the scientific method is the right way to debug (i.e. reasoning about programs to create hypotheses and performing experiments to validate or discard those hypotheses). Here, the use of a debugging logbook helps to make debugging explicit by writing down all hypotheses and observations.

- Plenty of techniques for creating hypothesis and determining the failure cause of an observed problem are covered, from static analysis tools and introducing assertions, to experimental techniques that try to make debugging more efficient.

"Why programs fail" is outstanding. Many interesting (and practical) ideas are explored. If you would like to improve your detective skills, this book is highly recommended.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
8 of 8 people found the following review helpful By Claude E. Smoot on August 25, 2008
Format: Paperback
Andreas Zeller created the GNU Data Display Debugger. That
fact set my expectations for this book. I was not
disappointed. Being a developer for over 15 years, I was
pleasantly surprised at the advances in debugging presented
in this book.

The great benefit of this book is that it uses the
scientific method to create a formal discipline for
debugging. This discipline can be automated in ways that
were unthought-of until recently. One example of this is
the DDCHANGE plug-in for Eclipse that automatically
identifies which of multiple code changes has introduced a
given bug.

I found no major faults in this book. The author's style
of writing is very enjoyable. The only thing I'd change is
to drop the second chapter as it contains material on defect
tracking that is covered elsewhere (unlike the rest of the
material where this book is pretty much the sole source of

This is a fabulous book that any serious developer should
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
6 of 10 people found the following review helpful By ALQ on November 4, 2005
Format: Paperback Verified Purchase
As a practionner I am delighted to see a systematic method applied to software. Too often is writing software compared to art or magic, while more often that not it is a matter of rigour, analysis and rational thinking (intuition does not hurt of course). The author attacks the problem of dealing with software defects with method and his analysis is sound. This book is a very welcome help to developers but can also help the quality assurance departement.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse