Kindle Edition
Read instantly on your iPad, PC or Mac, no Kindle required
Buy Price: $31.18
Rent From: $10.70
 
 
 
Sell Back Your Copy
For a $0.92 Gift Card
Trade in
Have one to sell? Sell yours here
Why Programs Fail: A Guide to Systematic Debugging
 
 

Why Programs Fail: A Guide to Systematic Debugging [Paperback]

Andreas Zeller (Author)
4.6 out of 5 stars  See all reviews (8 customer reviews)


Available from these sellers.


Textbook Student FREE Two-Day Shipping for Students. Learn more

Formats

Amazon Price New from Used from
 
Kindle Edition
Rent from
$31.18
$10.70
 
Paperback $34.65  
Paperback, October 11, 2005 --  

Book Description

1558608664 978-1558608665 October 11, 2005 1
Why Programs Fail is about bugs in computer programs, how to find them, how to reproduce them, and how to fix them in such a way that they do not occur anymore. This is the first comprehensive book on systematic debugging and covers a wide range of tools and techniques ranging from hands-on observation to fully automated diagnoses, and includes instructions for building automated debuggers. This discussion is built upon a solid theory of how failures occur, rather than relying on seat-of-the-pants techniques, which are of little help with large software systems or to those learning to program. The author, Andreas Zeller, is well known in the programming community for creating the GNU Data Display Debugger (DDD), a tool that visualizes the data structures of a program while it is running.

* Winner of a 2006 Jolt Productivity Award for Technical Books
* Shows how to reproduce software failures faithfully, how to isolate what is important about the failure, and to discover what caused it
* Describes how to fix the program in the best possible way, and shows how to create your own automated debugging tools
* Includes exercises and extensive references for further study, and a companion website with source code for all examples and additional debugging resources


Editorial Reviews

Review

"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

Product Details

  • Paperback: 480 pages
  • Publisher: Morgan Kaufmann; 1 edition (October 11, 2005)
  • Language: English
  • ISBN-10: 1558608664
  • ISBN-13: 978-1558608665
  • Product Dimensions: 8.6 x 7.4 x 1.1 inches
  • Shipping Weight: 2 pounds
  • Average Customer Review: 4.6 out of 5 stars  See all reviews (8 customer reviews)
  • Amazon Best Sellers Rank: #1,415,429 in Books (See Top 100 in Books)

More About the Author

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

 

Customer Reviews

8 Reviews
5 star:
 (5)
4 star:
 (3)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.6 out of 5 stars (8 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

13 of 13 people found the following review helpful:
4.0 out of 5 stars From the creator of the GNU Data Display Debugger (DDD)..., July 26, 2006
This review is from: Why Programs Fail: A Guide to Systematic Debugging (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.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


7 of 7 people found the following review helpful:
4.0 out of 5 stars Good material, crappy revisioning, September 17, 2009
This book is indeed a solid reference on a whole new approach to debugging, and I recommend it to every professional programmer.

I just wish they did a better revision work before publishing it, as scarcely past the third chapter you will have already ran into half a dozen bizarre errors. Misplaced or missing words are just the beginning; wait until you run into the misplaced paragraphs...

None of the errors take away this book's value, but thet are sort of a black eye in an otherwise beautiful figure.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


6 of 6 people found the following review helpful:
5.0 out of 5 stars Elevate your Debugging, August 25, 2008
This review is from: Why Programs Fail: A Guide to Systematic Debugging (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
information).

This is a fabulous book that any serious developer should
read.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews






Only search this product's reviews



Inside This Book (learn more)
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Deducing Errors, Asserting Expectations, Mac System, Making Programs Fail, Scientific Debugging, Delta Debugging Log, Entering Article, Leaving Article, Ockham's Razor, Automated Presentation, Calling Article, The Devil's Guide
New!
Concordance | Text Stats
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Surprise Me!
Search Inside This Book:



Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(1)
(1)

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject