When a piece of software is developed, it is always with good intention. You don’t expect it to harm people… well, unless you’re being deliberately malicious!
However, it’s quite common to have software bugs. Most software bugs get caught in the development stage, while others are identified in the testing stage.
But what happens if a mistake never gets caught, and goes out?
Before we talk about that, first let us determine…
A software mistake, or a bug, could be:
– The software didn’t fulfil its purpose
– It did something that was both undesirable and unexpected
A software product that didn’t fulfil its purpose is rare, but it does happen. A more common software mistake is when it does something undesirable. These software bugs are usually caused by:
There have been several examples of software mistakes caused by human error – someone made a tiny mistake in the code, which, in turn, affected the way it performed.
Finally, unexpected consequences are when everything was created properly and was tested properly. What they didn’t realise was that the software did something as part of its programming that no one discovered during development – an unexpected consequence.
In this article, we will take a look at some of the most expensive and well-known software failures.
Cost: $1 million
The Rutherford County of Tennessee, USA, spent circa $1 million . The update had so many glitches that it was unusable and had to be scrapped in 2015 after two years of disastrous results. An example of a software system that didn’t do what it was supposed to.
Cost: $18.5million
A minor typo in the code (a missing hyphen) caused the , leading engineers to issue a self-destruct command. It was a loss of $18.5 million in 1962!
Cost: Between $100,000 and $100million
A small piece of software, designed to highlight vulnerabilities in computer security, in November 1988. The software should have not copied itself on to computers it was already installed on. However, it did so multiple times, thereby overloading the processors. The worm ended up crashing an estimated 6,000 computers. It is considered the first DDoS (Distributed Denial of Service) attack.
Cost: Up to $50 million
The baggage handling software for Heathrow’s new Terminal 5 was tested thoroughly before it opened in March 2008. However, the testing did not take into account real-world usage, which is where the system failed. The result was thousands of bags left behind while the flights left. There were over 500 flights cancelled over the following 10 days of opening.
Cost: Over $60 million
In January 1990, AT&T customers found that they couldn’t place long-distance calls. It turned out to be because of a . The bug created an artificial congestion in the switches every time someone tried to make a call.
The company lost about $60 million in call charges that didn’t go through, and later offered a 33% discount on long-distance calls for Valentine’s Day to apologise for the inconvenience caused.
Cost: $125 million
NASA’s Mars Climate Orbiter was launched on 11th December 1998 to study the climate on Mars. The spacecraft was lost in space after it went too close to the surface of the red planet, hit the atmosphere where its communications were damaged, and carried on moving into space in an orbit around the sun.
The reason was found to be a bit of coding error – A sub-contractor had written a piece of software code without converting from the imperial system to the metric system.
Cost: Over $370 million
In June 1996, the European Space Agency launched flight 501 of the rocket Ariane 5. It did not even manage to achieve orbit.
The Ariane 5 was reusing software from Ariane 4. This software was not equipped to handle the higher horizontal acceleration of the newer spacecraft, but this fact did not come up during testing.
When its horizontal acceleration went higher than it could process, the computers crashed. The rocket went off its path, began to disintegrate, and eventually self-destructed.
Cost: $440 million
In August 2012, a started trading about 150 stocks erratically, leading to a $440 million loss in half an hour. This is not counting the loss they incurred when their shares went down by 75% in the next two days due to this.
Cost: $475 million
In 1994, a caused errors in calculating the correct value of a number after 4 or 5 decimal points. While it wouldn’t have affected the majority of people, it became so publicised that people started claiming replacements.
Cost: $500 billion
A software bug across several software programs stored the date using only . This was not a problem until the year 2000 when the 00 would have been read as 1900 by computers.
Cost: $1 billion
The UK’s Child Support Agency (CSA) started using a designed by EDS in 2003. At the same time, there was some internal restructuring. This resulted in two incompatible systems trying to work together. This did not end well and ended up costing the UK taxpayers a whopping $1 billion.
Cost: Unknown but estimated to be several million dollars
The Soviets were planning a pipeline that needed a to control it. When the CIA learned that they were planning to steal this system, they set a trap, working with a Canadian firm to build a deliberately flawed software product. The deliberate bugs in the software system caused the largest non-nuclear explosion in the pipelines in the summer of 1982.
Cost: Over 850,000 bitcoins
Mt. Gox was the in the world. In 2011, they lost over 850,000 bitcoins to hackers who took advantage of security flaws in their system.
Cost: 28 lives
The converted clock time to more accurate floating-point figures for calculation. However, due to a problem in the way it was designed, the timing became more and more inaccurate the longer it ran.
On 25th February 1991, after running for 100 hours, the system’s time was off by a third of a second. It failed to notice the incoming Scud missile targeting the American barracks in Dhahran, Saudi Arabia, until too late.
28 American soldiers died due to that glitch.
Cost: Potentially millions of human lives
This software error could have caused a nuclear war in 1983. The bugs (yes, plural!) in the Soviet early warning system raised an alarm that the US had launched 5 missiles. , a calm and logical man, made the decision not to respond. Radar outposts later confirmed there was, in fact, no attack. Disaster averted!
As you can see, developing a software programme is not just about a few lines of code. Usability, proper logic, and intensive testing are just some of the stages a good system will have to go through before it can be sent out into the real world.