Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
In IT, a bug refers to an error, fault or flaw in any computer program or a hardware system. A bug produces unexpected results or causes a system to behave unexpectedly. In short it is any behavior or result that a program or system gets but it was not designed to do.
It is not clear when the term “bug” was first used to denote faults in something, as even Thomas Edison mentioned it in a letter to an associate that bugs appear later on the invention process and that more time has to be spent fixing it before the product can be made commercial.
On September 9th, 1947, an error in the US Naval-operated Mark II computer was caused by a moth being trapped between two electrical relays. William Burke, the operator who found it, was so amused that he took the moth and placed it in a log-book with the annotation “First actual case of bug being found”. This was meant as a pun and is certainly not the first time the word was used to denote errors. The log-book now rests on display in the National Museum of American History of the Smithsonian Institute, with moth still attached.
It is not clear when the term “bug” was first used to denote faults in something. Thomas Edison, the 19th-century inventor, mentioned in a letter to an associate that bugs appear later in the invention process and that more time would be required on fixes prior to commercialization of the product.
It is often the goal of any software developer or designer to produce bug-free work. In truth, a bug-free product is a very hard (and expensive) mark to achieve. Some bugs may cause trivial inconveniences, but others can, and have, caused severe harm and even death. Many of the advanced design and implementation technologies aim at preventing the number and severity of bugs and the identification and removal of said defects as early as possible in the production process. The act of removing these errors is called debugging.