HOME

TheInfoList



OR:

A software bug is an error, flaw or fault in the design, development, or operation of
computer software Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. The process of finding and correcting bugs is termed "
debugging 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 in ...
" and often uses formal techniques or tools to pinpoint bugs. Since the 1950s, some computer systems have been designed to deter, detect or auto-correct various computer bugs during operations. Bugs in software can arise from mistakes and errors made in interpreting and extracting users' requirements, planning a program's
design A design is a plan or specification for the construction of an object or system or for the implementation of an activity or process or the result of that plan or specification in the form of a prototype, product, or process. The verb ''to design'' ...
, writing its
source code In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
, and from interaction with humans, hardware and programs, such as
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s or
libraries A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vir ...
. A program with many, or serious, bugs is often described as ''buggy''. Bugs can trigger errors that may have
ripple effect A ripple effect occurs when an initial disturbance to a system propagates outward to disturb an increasingly larger portion of the system, like ripples expanding across the water when an object is dropped into it. The ripple effect is often use ...
s. The effects of bugs may be subtle, such as unintended text formatting, through to more obvious effects such as causing a program to crash,
freezing Freezing is a phase transition where a liquid turns into a solid when its temperature is lowered below its freezing point. In accordance with the internationally established definition, freezing means the solidification phase change of a liquid o ...
the computer, or causing damage to hardware. Other bugs qualify as security bugs and might, for example, enable a malicious user to bypass
access control In the fields of physical security and information security, access control (AC) is the selective restriction of access to a place or other resource, while access management describes the process. The act of ''accessing'' may mean consuming ...
s in order to obtain unauthorized privileges. Some software bugs have been linked to disasters. Bugs in code that controlled the Therac-25
radiation therapy Radiation therapy or radiotherapy, often abbreviated RT, RTx, or XRT, is a therapy using ionizing radiation, generally provided as part of cancer treatment to control or kill malignant cells and normally delivered by a linear accelerator. Rad ...
machine were directly responsible for patient deaths in the 1980s. In 1996, the
European Space Agency , owners = , headquarters = Paris, Île-de-France, France , coordinates = , spaceport = Guiana Space Centre , seal = File:ESA emblem seal.png , seal_size = 130px , image = Views in the Main Control Room (120 ...
's US$1 billion prototype Ariane 5 rocket was destroyed less than a minute after launch due to a bug in the on-board guidance computer program. In 1994, an RAF Chinook helicopter crashed, killing 29; this was initially blamed on pilot error, but was later thought to have been caused by a software bug in the engine-control computer. Buggy software caused the early 21st century
British Post Office scandal The British Post Office scandal is a miscarriage of justice involving the wrongful civil and criminal prosecutions of an unknown or unpublished number of sub-postmasters (SPMs) for theft, false accounting and/or fraud. The cases constitute the ...
, the most widespread miscarriage of justice in British legal history. In 2002, a study commissioned by the US
Department of Commerce The United States Department of Commerce is an executive department of the U.S. federal government concerned with creating the conditions for economic growth and opportunity. Among its tasks are gathering economic and demographic data for bus ...
's
National Institute of Standards and Technology The National Institute of Standards and Technology (NIST) is an agency of the United States Department of Commerce whose mission is to promote American innovation and industrial competitiveness. NIST's activities are organized into Outline of p ...
concluded that "software bugs, or errors, are so prevalent and so detrimental that they cost the US economy an estimated $59 billion annually, or about 0.6 percent of the gross domestic product".


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 electronics and computers; 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 in a letter to an associate in 1878:
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 a book published in 1942, Louise Dickinson Rich, speaking of a powered ice cutting 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", 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 was not present when the bug was found, but it became one of her favorite stories. 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, were familiar with the engineering term and amusedly kept the insect with the notation "First actual case of bug being found." 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. The concept that software might contain errors dates back to Ada Lovelace's 1843 notes on the analytical engine, in which she speaks of the possibility of program "cards" for
Charles Babbage Charles Babbage (; 26 December 1791 – 18 October 1871) was an English polymath. A mathematician, philosopher, inventor and mechanical engineer, Babbage originated the concept of a digital programmable computer. Babbage is considered ...
's
analytical engine The Analytical Engine was a proposed mechanical general-purpose computer designed by English mathematician and computer pioneer Charles Babbage. It was first described in 1837 as the successor to Babbage's difference engine, which was a design ...
being erroneous:


"Bugs in the System" report

The Open Technology Institute, run by the group, New America, released a report "Bugs in the System" in August 2016 stating that U.S. policymakers should make reforms to help researchers identify and address software bugs. The report "highlights the need for reform in the field of software vulnerability discovery and disclosure." One of the report's authors said that
Congress A congress is a formal meeting of the representatives of different countries, constituent states, organizations, trade unions, political parties, or other groups. The term originated in Late Middle English to denote an encounter (meeting of ...
has not done enough to address cyber software vulnerability, even though Congress has passed a number of bills to combat the larger issue of cyber security. Government researchers, companies, and cyber security experts are the people who typically discover software flaws. The report calls for reforming computer crime and copyright laws.


Terminology

While the use of the term "bug" to describe software errors is common, man