Why Programs Fail, winner of the Jolt Productivity Award, has been freshly updated to bring readers up-to-speed on all the new methodologies that will help save them, their companies, and consumers a lot of headaches. Find out 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. A new edition of the first comprehensive book on systematic debugging, 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 and how to fix them, 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 fully updated second edition includes a new chapter on Learning From Mistakes-how to leverage change and bug databases to learn where earlier errors were and where future ones will be. Cutting-edge approaches to reproduce crashes are explained, new insights on how to report problems are explained, and new material on tracking origins is included. All across the book, tools, references, and exercises have been updated to reflect the state of the art.
Supplemental material available at www.whyprogramsfail.com
Praise from the experts for the first edition:
"In this book, Andreas Zeller does an excellent job introducing useful debugging techniques and tools invented in both academia and industry. The book is easy to read and actually very fun as well. It will not only help you discover a new perspective on debugging, but it will also teach you some fundamental static and dynamic program analysis techniques in plain language."
-Miryung Kim, Software Developer, Motorola Korea
"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."
-James Larus, Microsoft Research
"From the author of ODD, the famous data display debugger, now comes the definitive book on debugging. Zeller's book is chock-full with advice, insight, and tools to track down defects in programs, for all levels of experience and any programming language. The book is lucidly written, explaining the principles of every technique without boring the reader with minutiae. And best of all, at the end of each chapter it tells you where to download all those fancy tools. A great book for the software professional as well as the student interested in the frontiers of automated debugging."
-Walter F. Tichy, Professor, University Karlsruhe, Germany
"Andreas Zeller's Why Programs Fail lays an excellent foundation far practitioners, educators, and researchers alike. Using a disciplined approach based on the scientific method, Zeller provides deep insights, detailed approaches, and illustrative examples."
-David Notkin, Professor ComputerScience & Engineering, University of Washington