Content deleted Content added
Mariner 1 -- need copyedit |
No edit summary |
||
Line 10:
Bugs have widely-varying effects. Some bugs have only a subtle effect on the program's functionality, and may thus lie undetected for a long time. More severe bugs may cause the program to [[crash]] or [[freeze (computing)|freeze]]. In some [[operating system|operating systems]], such as [[Microsoft Windows]], crashing or freezing programs may render the computer unusable until it is [[boot (computing)|rebooted]] (see [[blue screen of death]].) Other bugs lead to security vulnerabilities; untrapped buffer overflow is one common type of bug that often allows an attacker to execute a new program on the target machine with elevated privileges.
The cost of bugs may be considerable. [[Steve McConnell]] recounts several bugs that cost over US$100 million. The most spectacular case was Europe's [[Ariane 5]] rocket, which cost over US$1 billion. Shortly after launch, it was destroyed because of a bug in the on-board guidance computer. [[Mariner]] 1 Venus probe was lost in the same way in 1962.
Bugs are a consequence of the nature of the programming task. Some bugs arise from simple oversights made when a programmer writes [[source code]] carelessly. Many [[off-by-one error|off-by-one errors]] fall into this category. Other bugs arise from unintended interactions between different parts of a computer program. This happens because computer programs are often complex, so that programmers are unable to mentally keep track of every possible way in which different parts can interact. Many [[race condition]] bugs fall into this category.
|