Why Programs Fail: A Guide to Systematic Debugging is proof that debugging has graduated from a black art to a systematic discipline. It demystifies one of the toughest aspects of software programming, showing clearly how to discover what caused software failures, and fix them with minimal muss and fuss.
The fully updated second edition includes 100+ pages of new material, including new chapters on Verifying Code, Predicting Erors, and Preventing Errors. Cutting-edge tools such as FindBUGS and AGITAR are explained, techniques from integrated environments like Jazz.net are highlighted, and all-new demos with ESC/Java and Spec#, Eclipse and Mozilla are included.
This complete and pragmatic overview of debugging is authored by Andreas Zeller, the talented researcher who developed the GNU Data Display Debugger(DDD), a tool that over 250,000 professionals use to visualize the data structures of programs while they are running. Unlike other books on debugging, Zeller's text is product agnostic, appropriate for all programming languages and skill levels.
The book explains best practices ranging from systematically tracking error reports, to observing symptoms, reproducing errors, and correcting defects. It covers a wide range of tools and techniques from hands-on observation to fully automated diagnoses, and also explores the author's innovative techniques for isolating minimal input to reproduce an error and for tracking cause and effect through a program. It even includes instructions on how to create automated debugging tools.
The text includes exercises and extensive references for further study, and a companion website with source code for all examples and additional debugging resources is available.
- The new edition of this award-winning productivity-booster is for any developer who has ever been frustrated by elusive bugs
- Brand new chapters demonstrate 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, languages and environments, including AGITAR, FindBUGS, Python and Eclipse
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
|
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