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.
- The new edition of this award-winning productivity-booster is for any developer who has ever been frustrated by elusive bugs
- Brand new material demonstrates cutting-edge debugging techniques and tools, enabling readers to put the latest time-saving developments to work for them
- Learn by doing. New exercises and detailed examples focus on emerging tools and environments, including ReCRASH, FindBUGS, and the WHYLINE.
Supplemental material available at www.whyprogramsfail.com
About the Author
Andreas Zeller is a computer science professor at Saarland University, Germany. His research centers on programmer productivity: What can be done to ease the life and work of programmers? Among Linux and Unix programmers Zeller is best known for GNU DDD, a debugger front-end with built-in data visualization. Among academics and advanced professionals, Zeller is best known for delta debugging, a technique that automatically isolates failure causes for computer programs. His work is equally divided between teaching, reading, writing, programming, and flying back and forth across the Atlantic. He lives with his family in Saarbrücken, on the German border with France.