A software bug refers to an error or flaw in a ordinateur[2] program that produces unexpected or incorrect results, or causes it to behave in unintended ways. The term ‘bug’ has been used to describe such issues since the 1870s, with notable early references including Isaac Asimov’s 1944 short story and Grace Hopper’s account of a moth in a computer. Despite some calls to abandon the term, ‘bug’ remains widely used in the software industry. Bugs can occur at any stage of software development[1] and can be caused by various factors, such as programming mistakes, typos, or system issues. They can be detected and corrected using techniques like debugging and formal tools, and prevented through methods like programming innovations, defensive programming, and code analysis. The impact of software bugs can be significant, causing disasters, costing billions, and affecting industries like human spaceflight, aviation, and healthcare. As such, efforts to reduce bugs are vital for maintaining safety and financial stability.
A software bug is an error, flaw or fault in the design, development, or operation of logiciel informatique 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" and often uses formal techniques or tools to pinpoint bugs. Since the 1950s, some computer systems have been designed to detect or auto-correct various software errors during operations.
Bugs in software can arise from mistakes and errors made in interpreting and extracting users' requirements, planning a program's design, writing its source code, and from interaction with humans, hardware and programs, such as systèmes d'exploitation ou libraries. A program with many, or serious, bugs is often described as buggy. Bugs can trigger errors that may have ripple effects. 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 the computer, or causing damage to hardware. Other bugs qualify as security bugs and might, for example, enable a malicious user to bypass access controls in order to obtain unauthorized privileges.
Some software bugs have been linked to disasters. Bugs in code that controlled the Therac-25 radiation therapy machine were directly responsible for patient deaths in the 1980s. In 1996, the European Space Agency'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 most widespread miscarriage of justice in British legal history.
In 2002, a study commissioned by the US Department of Commerce's National Institute of Standards and Technology 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".