Debugging by Thinking: A Multi-Disciplinary Approach is the first book to apply the wisdom of six disciplines-logic, mathematics, psychology, safety analysis, computer science, and engineering-to the problem of debugging. It uses the methods of literary detectives such as Sherlock Holmes, the techniques of mathematical problem solving, the results of research into the cognitive psychology of human error, the root cause analyses of safety experts, the compiler analyses of computer science, and the processes of modern engineering to define a systematic approach to identifying and correcting software errors.
* Language Independent Methods: Examples are given in Java and C++ * Complete source code shows actual bugs, rather than contrived examples * Examples are accessible with no more knowledge than a course in Data Structures and Algorithms requires * A thought process diary shows how the author actually resolved the problems as they occurredIntroduction; Part I - The Way of the Detective: Sherlock Holmes; Lord Peter Wimsey; Professor Solomon; Case Studies I; Part II -- The Way of the Mathematician: Mathematical Problem Solving; Mathematical Strategies; Debugging Heuristics; Debugging Tactics; Case Studies II; Part III -- The Ways Less Traveled: The Way of the Safety Expert; The Way of the Psychologist; The Way of the Engineer; The Way of the Computer Scientist; Get Back to Work; Glossary; Root Cause Checklist; Bibliography: Software Development; Books about Thinking Skills; Books about Supporting Disciplines; Books about DebuggingCreative approach to improving the productivity of both novice and veteran programmers This comprehensive book on debugging techniques is a must-read for all novice programmers and provides a good value for advanced software developers. Debugging by Thinking describes various approaches to debugging and fills in a long-time gap in the software engineering library. 'To err is humanls*