In engineering, a bug is a defect in the design, manufacture or operation of machinery, circuitry, electronics,
hardware
Hardware may refer to:
Technology Computing and electronics
* Electronic hardware, interconnected electronic components which perform analog or logic operations
** Digital electronics, electronics that operate on digital signals
*** Computer hard ...
, or
software
Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work.
...
that produces undesired results or impedes operation. It is contrasted with a
glitch
A glitch is a short-lived fault in a system, such as a transient fault that corrects itself, making it difficult to troubleshoot. The term is particularly common in the computing and electronics industries, in circuit bending, as well as amon ...
which may only be transient. Sometimes what might be seen as unintended or defective operation can be seen as a
feature
Feature may refer to:
Computing
* Feature (CAD), could be a hole, pocket, or notch
* Feature (computer vision), could be an edge, corner or blob
* Feature (software design) is an intentional distinguishing characteristic of a software item ...
.
History
The Middle English word ''
bugge Bugge is a Norwegian surname and may refer to:
People
* Bugge Wesseltoft (born 1964), Norwegian jazz musician
* David Buggé (born 1956), English cricketer and banker
* Peder Olivarius Bugge (1764–1849), Norwegian bishop
* Sophus Bugge (1833� ...
'' is the basis for the terms "
bugbear
A bugbear is a legendary creature or type of hobgoblin comparable to the boogeyman (or bugaboo or babau or cucuy), and other creatures of folklore, all of which were historically used in some cultures to frighten disobedient children.
Etymolog ...
" and "
bugaboo" as terms used for a monster.
The term "bug" to describe defects has been a part of engineering jargon since the 1870s and predates electronic computers and computer software; it may have originally been used in hardware engineering to describe mechanical malfunctions. For instance,
Thomas Edison
Thomas Alva Edison (February 11, 1847October 18, 1931) was an American inventor and businessman. He developed many devices in fields such as electric power generation, mass communication, sound recording, and motion pictures. These invent ...
wrote the following words in a letter to an associate in 1878:
This shows that using the word bugs was already widespread by 1870s.
In a
comic strip printed in a 1924 telephone industry journal, a naive character hears that a man has a job as a "bug hunter" and gives a gift of a
backscratcher
A backscratcher (occasionally known as a scratch-back) is a tool used for relieving an itch in an area that cannot easily be reached just by one's own hands, typically the back.
Composition and variation
They are generally long, slender, ro ...
. The man replies "don't you know that a 'bug hunter' is just a nickname for a
repairman
The technical meaning of maintenance involves functional checks, servicing, repairing or replacing of necessary devices, equipment, machinery, building infrastructure, and supporting utilities in industrial, business, and residential installa ...
?"
Baffle Ball
''Baffle Ball'' is a pinball machine created in November 19, 1931 by David Gottlieb, founder of the Gottlieb amusement company.
Gameplay
For one US cent players get ten balls. These balls are fired up onto the playfield and fall into pockets and ...
, the first mechanical
pinball
Pinball games are a family of games in which a ball is propelled into a specially designed table where it bounces off various obstacles, scoring points either en route or when it comes to rest. Historically the board was studded with nails call ...
game, was advertised as being "free of bugs" in 1931.
Problems with military gear during
World War II
World War II or the Second World War, often abbreviated as WWII or WW2, was a world war that lasted from 1939 to 1945. It involved the World War II by country, vast majority of the world's countries—including all of the great power ...
were referred to as bugs (or
glitch
A glitch is a short-lived fault in a system, such as a transient fault that corrects itself, making it difficult to troubleshoot. The term is particularly common in the computing and electronics industries, in circuit bending, as well as amon ...
es).
In the 1940 film, ''
Flight Command
''Flight Command'' is a 1940 American film about a cocky U.S. Navy pilot who has problems with his new squadron and with the wife of his commander. It stars Robert Taylor, Ruth Hussey and Walter Pidgeon. ''Flight Command'' has the distinction o ...
'', a defect in a piece of direction-finding gear is called a "bug". In a book published in 1942,
Louise Dickinson Rich Louise Dickinson Rich (14 June 1903 – 19 April 1991) was a writer known for fiction and non-fiction works about the New England region of the United States, particularly Massachusetts and Maine. Her best-known work was her first book, the auto ...
, speaking of a powered
ice cutting
Ice cutting is a winter task of collecting surface ice from lakes and rivers for storage in ice houses and use or sale as a cooling method. Rare today, it was common (see ice trade) before the era of widespread mechanical refrigeration and air c ...
machine, said, "Ice sawing was suspended until the creator could be brought in to take the bugs out of his darling."
Isaac Asimov
Isaac Asimov ( ; 1920 – April 6, 1992) was an American writer and professor of biochemistry at Boston University. During his lifetime, Asimov was considered one of the "Big Three" science fiction writers, along with Robert A. Heinlein and ...
used the term "bug" to relate to issues with a robot in his short story "
Catch That Rabbit
"Catch that Rabbit" is a science fiction short story by American writer Isaac Asimov. It was first published in the February 1944 issue of ''Astounding Science Fiction'' and reprinted in the collections ''I, Robot'' (1950) and ''The Complete Ro ...
", published in 1944.

The term "bug" was used in an account by computer pioneer
Grace Hopper
Grace Brewster Hopper (; December 9, 1906 – January 1, 1992) was an American computer scientist, mathematician, and United States Navy rear admiral. One of the first programmers of the Harvard Mark I computer, she was a pioneer of compu ...
, who publicized the cause of a malfunction in an early electromechanical computer. A typical version of the story is:
Hopper did not find the bug, as she readily acknowledged. The date in the log book was September 9, 1947.
[Log Book With Computer Bug]
", National Museum of American History, Smithsonian Institution. The operators who found it, including William "Bill" Burke, later of the
Naval Weapons Laboratory
The United States Naval Surface Warfare Center Dahlgren Division (NSWCDD), named for Rear Admiral John A. Dahlgren, is located in King George County, Virginia, in close proximity to the largest fleet concentration area in the Navy. NSWCDD is ...
,
Dahlgren, Virginia
Dahlgren is an unincorporated community and census-designated place (CDP) in King George County, Virginia, United States. The population was 2,946 at the time of the 2020 census, up from 2,653 at the 2010 census, and up from 997 in 2000.
Histor ...
, were familiar with the engineering term and amusedly kept the insect with the notation "First actual case of bug being found." Hopper loved to recount the story. This log book, complete with attached moth, is part of the collection of the Smithsonian
National Museum of American History
The National Museum of American History: Kenneth E. Behring Center collects, preserves, and displays the heritage of the United States in the areas of social, political, cultural, scientific, and military history. Among the items on display is t ...
.
The related term "
debug
In computer programming and software development, debugging is the process of finding and resolving ''bugs'' (defects or problems that prevent correct operation) within computer programs, software, or systems.
Debugging tactics can involve int ...
" also appears to predate its usage in computing: the ''
Oxford English Dictionary
The ''Oxford English Dictionary'' (''OED'') is the first and foundational historical dictionary of the English language, published by Oxford University Press (OUP). It traces the historical development of the English language, providing a com ...
''s etymology of the word contains an attestation from 1945, in the context of aircraft engines.
[''Journal of the Royal Aeronautical Society''. 49, 183/2, 1945 "It ranged ... through the stage of type test and flight test and 'debugging' ..."]
"It's not a bug, it's a feature"
Some user bugs work as the designer intended, reflecting a mismatch between the specifications and user expectations. Sometimes the behavior in question is written in user documentation or is billed as an
undocumented feature
An undocumented feature is an unintended or undocumented hardware operation, for example an undocumented instruction, or software feature found in computer hardware and software that is considered beneficial or useful. Sometimes the documentatio ...
, which is captured by the catchphrase "It's not a bug, it's a feature" (INABIAF).
This quip is recorded in
The Jargon File
The Jargon File is a glossary and usage dictionary of slang used by computer programmers. The original Jargon File was a collection of terms from technical cultures such as the MIT AI Lab, the Stanford AI Lab (SAIL) and others of the old ARPANET ...
dating to 1975 and may predate that. This reflects the programmer's humor to some extent.
Types
*
hardware bug A hardware bug is a defect in the design, manufacture, or operation of computer hardware that causes incorrect operation. It is the counterpart of software bugs which refer to flaws in the code which operates computers, and is the original context ...
**
security" \n\n\nsecurity.txt is a proposed standard for websites' security information that is meant to allow security researchers to easily report security vulnerabilities. The standard prescribes a text file called \"security.txt\" in the well known locat ...
*
software bug
**
firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide ...
**
security" \n\n\nsecurity.txt is a proposed standard for websites' security information that is meant to allow security researchers to easily report security vulnerabilities. The standard prescribes a text file called \"security.txt\" in the well known locat ...
**
microcode
In processor design, microcode (μcode) is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. Microcode is a la ...
See also
*
Genetic mutation
In biology, a mutation is an alteration in the nucleic acid sequence of the genome of an organism, virus, or extrachromosomal DNA. Viral genomes contain either DNA or RNA. Mutations result from errors during DNA or viral replication, mitosi ...
References
{{reflist
Engineering concepts
Engineering