Understand the Problem

In order to fix a bug in a program, you have to “understand the problem.” This is another way of saying that you need to understand The program’s requirements How the program implements those requirements

[1]  Martin Fowler,et al.  Refactoring - Improving the Design of Existing Code , 1999, Addison Wesley object technology series.

[2]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .