11.3 Software Debugging – What and Why?
11.3.1 Debugging – Fundamental Concepts
One point must be clearly understood. Software debugging is concerned with error detection in the software, not in the hardware. We assume that the hardware is fault-free. Hardware faults introduced by the software are here regarded as software errors. So, they are included in the listing of software bugs.
A simplistic view of program execution ("journey into the unknown") is depicted in Figure 11.8. The complete program consists of the instructions and data needed to get from A to B. Along the way, many actions are carried out. Data is collected, deposited, and modified, output devices are activated, and input devices are interrogated. When B is reached and all actions are correctly performed, we can be pretty sure that the program is correct.
Now, how do we test this program? The simplest way is to install it on the target system and run it. In fact, unless special test...