SAC

SAC

Tuesday 10 November 2009

10 Software Bugs That Caused Disasters

Software bugs are part of a programmer's life, we deal with them on a daily basis but some of them slip through several stages of Quality Assurance and sometimes can cause headaches to the users. Here is a list of 10 software bugs that cascaded and ended up in real disasters.

  1. In May 1996, a software bug caused bank accounts of over 800 customers of a major US bank to be credited with $924,844,208.32 each. The American Bankers Association claimed it was the largest such error in banking history.

  2. A crew member of the guided missile cruiser USS Yorktown entered by mistake a 0 value when prompted by the computers. The lack of a validation mechanism generated a division by zero and the error crashed the ship's propulsion system and eventually left it dead in the water for several hours in November 1998.

  3. The Ariane 5 rocket exploded in June 1996. The engineers installed software inherited from an older rocket (Ariane 4) which was not ready to handle the input generated by the latest hardware. The Ariane 5 flew faster, generating larger values of some variables. The software being unable to convert a 64 bit floating-point number to a 16 bit integer decided to shut down the navigation system.

  4. In January 2001 a major European railroad company found that many of their trains would not function for being victims of the Y2K effects. Their software was unable to process the "31/12/2000" date.

  5. Between 1985 and 1987 the Therac 25 radiation therapy system ran with a bug that issued lethal radiation doses to the patients who were treated by it, causing the death of five of them and injuries to others.

  6. In July 1962 the Mariner I space probe was destroyed by the ground control team when they discovered that the rocket diverted from its original path. Further research indicated that a formula written on paper was improperly transcribed into source code, causing the computer to miscalculate the rocket's trajectory.

  7. In 1978 the Hartford Coliseum collapsed after thousands of attendants left the building. The CAD software used to design the building contained a bug that miscalculated the resistance of the material.

  8. In 1983 the Soviet Early Warning System triggered off alarms when it falsely detected that the United States had launched five ballistic missiles. The officer in charge reasoned that no such thing was possible since if the US really wanted to attack the Soviet Union they would be launching more than 5 missiles, so he reported it as a false alarm, preventing a massive Soviet military reaction.

  9. During the first Gulf War, the Patriot Missile System installed in Saudi Arabia failed to intercept an incoming Iraqui Scud missile. The attack destroyed an Army barracks causing the death of 28 soldiers and 100 injured. The software that controled the Patriot system rounded wrongly a time value, making the defense mechanisms ignore the incoming threat.

  10. In 1998 the Mars Climate Orbiter crashed on Mars after a 286 days journey from Earth. The software that controlled the thrusters was set up to use imperial units instead of the metric units as specified by NASA, causing the machine to malfunction and crash on the red planet.