Once we accidentally inserted an extra zero in the headline: ‘2000 tanks destroyed.’ The authorities were quite angry.
—memories of my grandfather while working in a printing press in 1941
As soon as a program contains a single line of program code, that line could contain a defect—and sooner or later it will. If defects are when our code does not do what it is expected to do, debuggingis fixing those defects. This is more complicated than it sounds. Debugging implies a couple of things:
We know what a correct program is supposed to do.
We know that there is a defect in our program.
We acknowledge ...