bug
Home > Software Quality Definitions - Bug
SearchSoftwareQuality.com Definitions (Powered by WhatIs.com)
EMAIL THIS
LOOK UP TECH TERMS Powered by: WhatIs.com
Search listings for thousands of IT terms:
Browse tech terms alphabetically:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

bug



Word of the Day
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


DEFINITION - In computer technology, a bug is a coding error in a computer program. (Here we consider a program to also include the microcode that is manufactured into a microprocessor.) The process of finding bugs before program users do is called debugging. Debugging starts after the code is first written and continues in successive stages as code is combined with other units of programming to form a software product, such as an operating system or an application. After a product is released or during public beta testing, bugs are still apt to be discovered. When this occurs, users have to either find a way to avoid using the "buggy" code or get a patch from the originators of the code.

Although bugs typically just cause annoying computer glitches, their impact can be much more serious. A Wired News article about the 10 worst software bugs in history, reported that bugs had caused major explosions, crippled space probes, and caused death. In 1982, for example a system controlling the trans-Siberian gas pipeline (allegedly implanted by the CIA) caused the largest non-nuclear explosion in history. Between 1985 and 1987, a bug in a radiation therapy device called a race condition resulted in the delivery of lethal doses of radiation, killing five people and injuring others. More recently, in 2005, Toyota recalled 160,000 cars (the Prius) because a bug caused warning lights to come on and engines to stall for no reason.

A bug is not the only kind of problem a program can have. A program can run bug-free and still be difficult to use or fail in some major objective. This kind of flaw is more difficult to test for (and often simply isn't). It is generally agreed that a well-designed program developed using a well-controlled process will result in fewer bugs per thousands of lines of code.

The term's origin has been wrongly attributed to the pioneer programmer, Grace Hopper. In 1944, Hopper, a young Naval Reserve officer, went to work on the Mark I computer at Harvard, becoming one of the first people to write programs for it. As Admiral Hopper, she later described an incident in which a technician is said to have pulled an actual bug (a moth, in fact) from between two electrical relays in the Mark II computer. In his book, The New Hacker's Dictionary, Eric Raymond reports that the moth was displayed for many years by the Navy and is now the property of the Smithsonian. Raymond also notes that Admiral Hopper was already aware of the term when she told the moth story. The term was used prior to modern computers to mean an industrial or electrical defect.

Less frequently, the term is applied to a computer hardware problem.

CONTRIBUTORS: Karl Wick
LAST UPDATED: 15 Feb 2007

Read more about bug:
- The Intel Secrets Home Page describes the Floating-Point Bug in the Pentium and Pentium II.
- Seapine Software makes a program to help you manage your bugs.
- Wired News reports on "History's Worst Software Bugs."


Do you have something to add to this definition? Let us know.
Send your comments to techterms@whatis.com


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


RELATED CONTENT
Manage component dependencies for improved system quality
Too much coupling of code within a system makes the system hard to understand, integrate, extend, and test. By managing dependencies, you can prevent...
Survey: Agile interest high, but waterfall still used by many
While there's a strong interest in new software development techniques, SearchSoftwareQuality.com's recent survey found that many still follow...
Continuous integration reduces bugs, increases productivity
Development teams can use continuous integration (CI) to find and fix bugs, share knowledge, and generally work better together, says Agile coach...

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
build tool  (SearchSoftwareQuality.com)
A build tool is a programming utility that automates a software build task, such as ensuring that the proper source code files are compiled and that...
development environment  (SearchSoftwareQuality.com)
In computer program and software product development, the development environment is the set of processes and programming tools used to create the...




About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides enterprise IT professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective IT purchase decisions and managing their organizations' IT projects - with its network of technology-specific Web sites, events and magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Reprints  |  Site Map




All Rights Reserved, Copyright 2006 - 2008, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts