Definition of Debugging
Debugging consists of determining the exact nature and location of a suspected error and fixing the error
Debugging is that activity which is performed after executing a successful test case (one that exhibits the presence of an error).
Perspectives on Debugging
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. —Brian Kernighan
What are typical attitudes towards debugging?
What are psychological implications of debugging?
What is the practice of anti-bugging?
Types of Debugging
- Brute Force
- Induction
- Deduction
- Backtracking
- Testing
Debugging Guidelines
- Error Locating guidelines
- Error Repairing guidelines
Tools for Debugging
- Cognitive Tools
- Automated Tools