fear or anxiety " shakespeare seems to have shortened this to "bug,when he had hamlet kvetch about "bugs and goblins in my life " the use of the word "bugsometimes leads people to ignore the fundamental fact that if you wrote program and it has "bug,you messed up bugs do not crawl unbidden into flawless programs if your program has bugit is because you put it there bugs do not breed in programs if your program has multiple bugsit is because you made multiple mistakes runtime bugs can be categorized along two dimensions overt covertan overt bug has an obvious manifestatione the program crashes or takes far longer (maybe foreverto run than it should covert bug has no obvious manifestation the program may run to conclusion with no problem--other than providing an incorrect answer many bugs fall between the two extremesand whether or not the bug is overt can depend upon how carefully one examines the behavior of the program persistent intermittenta persistent bug occurs every time the program is run with the same inputs an intermittent bug occurs only some of the timeeven when the program is run on the same inputs and seemingly under the same conditions when we get to we will start writing programs of the kind where intermittent bugs are common the best kinds of bugs to have are overt and persistent developers can be under no illusion about the advisability of deploying the program and if someone else is foolish enough to attempt to use itthey will quickly discover their folly perhaps the program will do something horrible before crashinge delete filesbut at least the user will have reason to be worried (if not panickedgood programmers try to write their programs in such way that programming mistakes lead to bugs that are both overt and persistent this is often called defensive programming the next step into the pit of undesirability is bugs that are overt but intermittent an air traffic control system that computes the correct location for planes almost all of the time would be far more dangerous than one that makes obvious mistakes all the time one can live in fool' paradise for period of timeand maybe get so far are as deploying system incorporating the flawed programbut sooner or later the bug will become manifest if the conditions prompting the bug to become manifest are easily reproducibleit is often relatively easy to track down and repair the problem if the conditions provoking the bug are not clearlife is much harder programs that fail in covert ways are often highly dangerous since they are not apparently problematicalpeople use them and trust them to do the right thing increasinglysociety relies on software to perform critical computations that are beyond the ability of humans to carry out or even check for correctness webster' new world college dictionary act scene