DO PLANES REALLY CRASH DUE TO ROUNDING ERRORS IN THE SOFTWARE?
KATIE ODLING, ST ALBANS
ALAMY, GETTY IMAGES ILLUSTRATIONS: HARRIET NOBLE, PETE LAWRENCE
On 4 June 1996, the maiden flight of the Ariane 5 launcher didn’t go well. 40 seconds after take-off, the massive rocket suddenly veered from its flight path and exploded. The cause was a tiny software error: a floating-point number represented using 64 bits was converted to a 16-bit signed integer, but the conversion failed as the number was larger than 32,767 – the maximum that 16 bits could represent. This overflow error caused the software to dump debugging data into the area of memory being used to control the rocket’s engines. The backup computer did no better, with the result that the rocket lost control and came to a fiery end.