Tuesday, July 27, 2010

Debugging

• Debugging (removal of a defect) occurs as a consequence of successful testing.
• Some people better at debugging than others.
• Is the cause of the bug reproduced in another part of the program?
• What “next bug” might be introduced by the fix that is being proposed?
• What could have been done to prevent this bug in the first place?


Debugging Approaches
• Brute force
– memory dumps and run-time traces are examined for clues to error causes
• Backtracking
– source code is examined by looking backwards from symptom to potential causes of errors
• Cause elimination
– uses binary partitioning to reduce the number of locations potential where errors can exist

No comments:

Post a Comment