Bug




<programming> An unwanted and unintended property of a program or piece of hardware, especially one that causes it to malfunction.

Antonym of feature.

E.g. "There's a bug in the editor: it writes things out backward."

The identification and removal of bugs in a program is called "debugging".

Admiral Grace Hopper (an early computing pioneer better known for inventing COBOL) liked to tell a story in which a technician solved a glitch in the Harvard Mark II machine by pulling an actual insect out from between the contacts of one of its relays, and she subsequently promulgated bug in its hackish sense as a joke about the incident (though, as she was careful to admit, she was not there when it happened). For many years the logbook associated with the incident and the actual bug in question (a moth) sat in a display case at the Naval Surface Warfare Center (NSWC).

The entire story, with a picture of the logbook and the moth taped into it, is recorded in the "Annals of the History of Computing", Vol. 3, No. 3 (July 1981), pp. 285--286.

The text of the log entry (from September 9, 1947), reads "1545 Relay #70 Panel F (moth) in relay.

First actual case of bug being found".

This wording establishes that the term was already in use at the time in its current specific sense - and Hopper herself reports that the term "bug" was regularly applied to problems in radar electronics during WWII.

Indeed, the use of "bug" to mean an industrial defect was already established in Thomas Edison's time, and a more specific and rather modern use can be found in an electrical handbook from 1896 ("Hawkin's New Catechism of Electricity", Theo. Audel & Co.)

which says: "The term "bug" is used to a limited extent to designate any fault or trouble in the connections or working of electric apparatus."

It further notes that the term is "said to have originated in quadruplex telegraphy and have been transferred to all electric apparatus."

The latter observation may explain a common folk etymology of the term; that it came from telephone company usage, in which "bugs in a telephone cable" were blamed for noisy lines. Though this derivation seems to be mistaken, it may well be a distorted memory of a joke first current among *telegraph* operators more than a century ago!

Actually, use of "bug" in the general sense of a disruptive event goes back to Shakespeare!

In the first edition of Samuel Johnson's dictionary one meaning of "bug" is "A frightful object; a walking spectre"; this is traced to "bugbear", a Welsh term for a variety of mythological monster which (to complete the circle) has recently been reintroduced into the popular lexicon through fantasy role-playing games.

In any case, in jargon the word almost never refers to insects.

Here is a plausible conversation that never actually happened:

"There is a bug in this ant farm!"

"What do you mean?

I don't see any ants in it."

"That's the bug."

[There has been a widespread myth that the original bug was moved to the Smithsonian, and an earlier version of this entry so asserted.

A correspondent who thought to check discovered that the bug was not there.

While investigating this in late 1990, your editor discovered that the NSWC still had the bug, but had unsuccessfully tried to get the Smithsonian to accept it - and that the present curator of their History of American Technology Museum didn't know this and agreed that it would make a worthwhile exhibit.

It was moved to the Smithsonian in mid-1991, but due to space and money constraints has not yet been exhibited.

Thus, the process of investigating the original-computer-bug bug fixed it in an entirely unexpected way, by making the myth true!

- ESR]

[Jargon File]



< Previous Terms Terms Containing bug Next Terms >
bubble sort
bucky bits
buffer
buffered write-through
buffer overflow
6502
8250
AD/Cycle
aliasing
aliasing bug
bug-compatible
bug fix
bug fix release
bug-for-bug compatible
buglix