Software bug: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Ed Poor
(bugs involving spaceships and airplanes)
imported>Ed Poor
(Recent versions of Windows have become able to detect unresponsive programs)
Line 2: Line 2:


When undetected, software bugs can wreak havoc or just be mildly annoying. The most common bugs deal with memory allocation or pointer arithmetic. The program will place or look for information in the wrong location. This is the hardest type of error to detect, and is common in C and C++ programs. Java is not susceptible to this type of error, as all memory operations are handled and checked by the [[virtual machine]].
When undetected, software bugs can wreak havoc or just be mildly annoying. The most common bugs deal with memory allocation or pointer arithmetic. The program will place or look for information in the wrong location. This is the hardest type of error to detect, and is common in C and C++ programs. Java is not susceptible to this type of error, as all memory operations are handled and checked by the [[virtual machine]].
The typical annoying software bug causes a program to "hang" (stop working or responding) or causes the entire computer to "freeze". Recent versions of Windows have become able to detect unresponsive programs and allow the user to terminate them; previous versions required the user to reboot the system, which usually involved a loss of unsaved work.


Some of the worst software errors include a faulty conversion of linear measurement which caused a Mars probe to crash into the planet (kilometers were confused with miles), and the Ariadne rocket which self-destructed because a test routine meant to run only when the rocket was stationary was permitted to run while the rocket was in flight.  
Some of the worst software errors include a faulty conversion of linear measurement which caused a Mars probe to crash into the planet (kilometers were confused with miles), and the Ariadne rocket which self-destructed because a test routine meant to run only when the rocket was stationary was permitted to run while the rocket was in flight.  


Programmers are divided on whether design flaws should be classed with coding errors as "bugs", but customers consider them to be software defects. One such flaw permitted an airline pilot to pick the wrong airport code from a [[menu]], whereupon the plane flew itself into the side of mountain. The flaw was in the total logic of the system, which should have alerted the pilot to his unwise choice or simply rejected it.
Programmers are divided on whether design flaws should be classed with coding errors as "bugs", but customers consider them to be software defects. One such flaw permitted an airline pilot to pick the wrong airport code from a [[menu]], whereupon the plane flew itself into the side of mountain. The flaw was in the total logic of the system, which should have alerted the pilot to his unwise choice or simply rejected it.
==See also==
*[[software virus]] - malicious software which hides and replicates itself

Revision as of 15:03, 10 May 2007

A software bug is an error in a computer program. The term comes from hardware engineering, where a design flaw in a circuit or other product was called a "bug".

When undetected, software bugs can wreak havoc or just be mildly annoying. The most common bugs deal with memory allocation or pointer arithmetic. The program will place or look for information in the wrong location. This is the hardest type of error to detect, and is common in C and C++ programs. Java is not susceptible to this type of error, as all memory operations are handled and checked by the virtual machine.

The typical annoying software bug causes a program to "hang" (stop working or responding) or causes the entire computer to "freeze". Recent versions of Windows have become able to detect unresponsive programs and allow the user to terminate them; previous versions required the user to reboot the system, which usually involved a loss of unsaved work.

Some of the worst software errors include a faulty conversion of linear measurement which caused a Mars probe to crash into the planet (kilometers were confused with miles), and the Ariadne rocket which self-destructed because a test routine meant to run only when the rocket was stationary was permitted to run while the rocket was in flight.

Programmers are divided on whether design flaws should be classed with coding errors as "bugs", but customers consider them to be software defects. One such flaw permitted an airline pilot to pick the wrong airport code from a menu, whereupon the plane flew itself into the side of mountain. The flaw was in the total logic of the system, which should have alerted the pilot to his unwise choice or simply rejected it.

See also