Features
- Cover Type: Paperback with 480 pages
- Published by: Morgan Kaufmann October 11, 2005
- Written in: English
- ISBN 10 Number: 1558608664
- ISBN 13 Number: 978-1558608665
-
Book Dimensions:
8.6 x 7.4 x 1.1 inches
- Weighs: 2 pounds
Product Review
"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
Reader Reviews"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.