Definition

bug

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 word bug, originated in engineering. The term's application to computing has been attributed to the pioneer programmer, Grace Hopper. In 1944, Hopper, who was then a young Naval Reserve officer, went to work on the Mark I computer at Harvard. 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. The moth was displayed for many years by the Navy and is now the property of the Smithsonian. 

 

Contributor(s): Karl Wick
This was last updated in February 2007
Posted by: Margaret Rouse

Email Alerts

Register now to receive SearchSoftwareQuality.com-related news, tips and more, delivered to your inbox.
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

More News and Tutorials

  • Scaling Agile software development: Challenges and solutions

    Software consultant Nari Kannan describes how agile practices and work can be scaled appropriately for success in large organizations. Using lean thinking, reduction of waste, and appropriately organizing work and people, agile can be successfully adapted, regardless of the size of the organization.

  • Rise in hidden software glitches caused by programmer retirements

    Undiscovered software glitches in complex systems are common, and one of the primary drivers is the loss of mainframe knowledge of a retiring workforce. Software glitches are lurking in many large systems, particularly mainframe systems, and the COBOL programmers that understand the code best are retiring, according to Jeff Papows, author of the new book, "Glitch - The hidden impact of faulty software." Papows describes how faulty software caused a huge charge to debit card holder's account and why such mistakes are on the rise in this interview. Papows notes the three most pressing drivers for software glitches: loss of intellectual knowledge, market consolidation and the ubiquity of technology

  • How important are SQL skills for a tester?

    Karen Johnson explains the situations in which SQL skills are important for a software tester as well as times when the expertise is not required.

Do you have something to add to this definition? Let us know.

Send your comments to techterms@whatis.com

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: