vWhen the car doesn’t start because of a dead battery,
figuring out the problem uses debugging skills … but it is not technically
debugging, but rather “fault identification”
oWhen the error is a failing component of a correct
design, it is a fault … when the battery
is fixed the car runs
oWhen the error is a failure of the design, it is a bug
vWhile programming the chances are overwhelming that the error
is a bug, since you’ve likely made a reasoning error
vIn “mature” systems it could be either one, since the error could be a
fault or a latent logical error