all programs have defects in them called 'bugs' and these need to be eliminated. Bugs can
arise from errors in the logic of the program
specification or errors in the programming code created
by a programmer.
Special programming tools assist the programmer in finding and correcting bugs.
Some bugs are difficult to locate and fixing them is like solving a complex puzzle.