More than 100 flights to and from London’s Heathrow airport were disrupted on 16th feb 2020. Technical issues affecting departures boards and check-in systems, leaving passengers with little information about their flights.
Software bug caused Boeing’s plane to crash twice.
As Boeing was selling the planes as virtually the same as the old model, they didn’t highlight the new system and regulators cleared the plane to fly without pilots receiving more than minimal retraining that didn’t mention the MCAS. The first sign of trouble was reports from pilots that the planes were suddenly nosing down without any warning and then, on 29 October 2018, the first crash occurred.
Its been reported recently that Tesla is recalling 130,000 vehicles in the US due to a software bug in its infotainment system, resulting in overheating that makes the processor lag or restart. As a result, the system may not be able to display necessary images. The National Highway Traffic Safety Administration (NHTSA) said “A lagging or restarting CPU may prevent the center screen from displaying the rearview camera image, gear selection, windshield visibility control settings, and warning lights, increasing the risk of a crash,”
Luckily the company were able to do over-the-air software updates to fix the issue, however experts say a downside of over-the-air updates is they may encourage car makers to release features that haven’t been adequately tested and may be rough around the edges - such as this one it seems!!
One popular story of a software bug is the explosion of the Ariane 5. Whereas, the problem of the explosion of the Ariane 5 was an integer overflow which is a widespread bug in computer programming which caused the Ariane 5 rocket to explode just forty seconds after its launch from Kourou in the French Guiana. Whereas, a way how testing might help in the explosion of the Ariane 5 is that the backup Inertial Reference System also failed due to the same error condition, meaning that at T+37 the BH variable contained a diagnostic value from the processor which is intended for debugging purposes only.
The earliest bug I can remember is in Pokemon where sometimes a Pokemon is registered as MissingNo., short for “Missing Number”.
The reason why I find this bug interesting is quite often in video games when a bug is so prominent and unfixed the fans like to turn it into a “feature” of the game and MissingNo is no different, one sneaky way for testers to fix a bug is to pretend it never was a bug in the first place!
Gamers try very hard to break their games intentionally and the Pokemon game this occurred in is rather old now, with new frameworks that exist today many of the manual testing processes that existed in the past can be automated now, preventing such mundane bugs from happening today.
In 2011 executives from Sony make a public apology for a security breach in the company’s PlayStation Network that caused the loss of personal data of some 77 million online accounts. Sony said account information, including names, birth dates, credit card information, email addresses and log-in information, was compromised for players using its PlayStation Network.
In order to prevent this from happening, Sony could have run more testing on the stability and strength of their server security.
Steam (a digital marketplace for games) recently had a bug with certain games that required a CD key to operate.
You could buy a product, copy the CD key and then request a refund. As you still have the cd key you could then activate the returned product on through the library without having paid for it, in addition to this upon re-installing the game a new CD key would be generated meaning (in theory) you could create 100’s of keys for the same game without paying for it once.
While CD keys are generally no longer used for digital games this problem could have been averted and money could have been saved with the testing of the key generation system and a review of the refund process.
The story I found happened in 2012 to a trading company called the Knight Capital Group.
On the 1st of August, Knight Capital Group released a software update, that was not thoroughly tested enough, to their servers. This had an unforeseen effect on the internal system ‘Power Peg’ which lead to a configuration error. Power Peg was a defunct system within the server but was left within the base code in 2003. In 2005, an alteration to the code caused the safety-checks to be disabled.
At 9.00 am, when the stock exchange was open for trading, an investor placed an instruction to buy or sell their investment holdings. This was the start of the domino effect of what is to come. What happened was, when the new update had come out, it had repurposed a flag from the Power Peg code. This lead to the program believing it is being tested and started executing lots of tests quickly without caring about losing spread value. Due to this error, in 45 minutes the Knight Capital Group had lost about £440 million after executing 4 million trades.
If testing had been done on the updated software, then Knight Capital Group would have noticed this, fixed it and most likely have removed Power Peg from the base code. If more testing had been done on their server they would not have lost about £440 million.
One famous software bug is the Ariane 501 software bug which caused the explosion of the rocket.
It was caused by an integer overflow since the software could was not properly set up for handling this type of error. There was multiple software design errors due to code being ported over from the last rocket Ariane 4.
There was not enough rigorous testing performed and developers/testers were lazy considering they used alot of old software.
MarketWatch API bug:
This bug has caused many to mistakenly place money on stocks which are not fitting the criteria they are searching for. This issue occurs with the MarketWatch API, where a list of stocks are meant to be displayed in order from their recent percentage increase.
However, an issue commonly occurs where a random stock, with a percentage increase that does not fit the data being requested, will be displayed alongside other stocks that are listed in order from their 1 day percentage increase/decrease.
Sources indicated that one of the main reasons that the FAC found for Chandrayaan-2’s
failure in soft-landing Vikram (the lander) was a glitch in the software the algorithm that
saw the lander lose orientation just meters from the lunar surface.
News Article: Chandrayaan-3 plans indicate failures in Chandrayaan-2 | India News - Times of India
More vigorous and thorough testing may have prevented this catastrophe. They might’ve found this bug sooner and reciprocated.
A very specific software bug made airliners turn the wrong way if their pilots adjusted a pre-set altitude limit.
The critical bug, discovered on Bombardier CRJ-200 aircraft fitted with Rockwell Collins Aerospace-made flight management systems , led to airliners trying to follow certain missed approaches turning right instead of left – or vice versa.
It could have been avoided with proper software testing prior to the final release of the software.
The recent government emergency alert test failed to reach millions of users on the Three network, due to a software bug preventing the alert coming through.
Better testing of this from both the government side to push through to all networks, and also fro Three network to allow the alert to be accepted would have identified this sooner. Three had sufficient time to investigate how the alert would have been sent to mobile device, specifically official alerts through notifications and wireless emergency alerts menus within devices. This should have been reviewed for both Android and Apple OS to ensure both types of settings were successfully enabled.
A company called Knight Capital lost $460m on the stock exchange in under an hour: The Worst Computer Bugs in History: Losing $460m in 45 minutes | Bugsnag Blog
The bug was accidentally deployed to a production system, despite being old, dead code which was only meant to be used for internal testing. Better QA processes could have helped avert this disastrous scenario.
One option which could prevent this would be access gating and mandatory code review. Code intended for production could be gated such that only certain individuals can push to production or reviews and agreements are required before a push can go through. With more eyes on the process, it’s likely this bug would be caught.