
Why Programs Fail
A Guide to Systematic Debugging
Andreas Zeller(Author)
Morgan Kaufmann (Publisher)
Published on 1. December 2005
Book
Paperback/Softback
480 pages
978-1-55860-866-5 (ISBN)
Article exhausted; check for reprint
Description
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.
Reviews / Votes
"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
More details
Language
English
Place of publication
San Francisco
United States
Publishing group
Elsevier Science & Technology
Target group
Professional and scholarly
Computer programmers, software developers, students?and anyone who wants to write better programs.
Dimensions
Height: 235 mm
Width: 191 mm
Weight
970 gr
ISBN-13
978-1-55860-866-5 (9781558608665)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
New editions

Book
07/2009
2nd Edition
Morgan Kaufmann
€63.50
Shipment within 15-20 days
Person
Andreas Zeller is a full professor for Software Engineering at Saarland University in Saarbruecken, Germany. His research concerns the analysis of large software systems and their development process; his students are funded by companies like Google, Microsoft, or SAP. In 2010, Zeller was inducted as Fellow of the ACM for his contributions to automated debugging and mining software archives. In 2011, he received an ERC Advanced Grant, Europe's highest and most prestigious individual research grant, for work on specification mining and test case generation. His book "Why programs fail", the "standard reference on debugging", obtained the 2006 Software Development Jolt Productivity Award.
Content
How Failures Come to Be; Tracking Problems; Reproducing Problems; Simplifying Problems; Scientific Method; Deducing Errors; Observing Facts; Tracking Origins; Asserting Expectations; Detecting Anomalies; Causes and Effects; Isolating Failure Causes; Isolating Cause-Effect Chains; Fixing the Defect; Appendix A Formal Definitions; A.1 Delta Debugging; A.2 Memory Graphs; A.3 Cause-Effect Chains; Glossary; Bibliography; Index