June 4, 1996 marked the first flight of the Ariane 5 rocket, which unfortunately ended in disaster. Just forty seconds after takeoff, the rocket veered off course and exploded. This catastrophic event was caused by a small software error, where a 64-bit floating point number was converted to a 16-bit signed integer. The conversion failed because the number was greater than 32,767, the maximum value that can be represented in 16 bits. This overflow error led to the dumping of debug data into the memory area controlling the rocket’s engines, resulting in the failure of the backup computers and ultimately leading to the rocket’s loss of control and explosion.
In 2015, it was revealed that a similar overflow error could potentially cause a power outage if a Boeing 787’s generator controls were activated for 248 consecutive days, reaching the maximum value for a 32-bit signed register. However, the issue could be resolved by resetting the counters. Fortunately, the flawed software in the 737 Max did not cause a disaster like the Ariane 5 incident.
Overflow errors are similar to rounding errors, but have subtle differences. Rounding errors usually occur when a number is calculated incorrectly and stored in binary, causing small errors to accumulate and eventually lead to significant errors.
Rounding errors can affect missiles…
A well-known example of this type of mistake occurred during the Gulf War, where a Patriot missile hit barracks instead of the incoming Scud missile, resulting in casualties. This was due to rounding errors in the tracking system that accumulated and caused the missile to veer off target.
…and the train
Software bugs can have disastrous consequences, as seen in an incident in May 2019 where an experienced train driver unfamiliar with the train’s new software accidentally accelerated to 15 mph, causing a collision and derailing the train.
Read more:
Check out our ultimate Interesting information More amazing science pages.
Source: www.sciencefocus.com