The $500 Million Variable Declaration

Apr 24

The $500 Million Variable Declaration

The Explosion of the Ariane 5: I was watching Modern Marvels tonight (easily my favorite show in the whole, wide world, ever), and it was another installment in their “Engineering Disasters” series. They had a bit on the Ariane 5 — a rocket that lost control on liftoff in 1996 and had to be destroyed at a cost of a half-billion dollars.

What was the problem? A single datatype:

It turned out that the cause of the failure was a software error in the inertial reference system. Specifically a 64 bit floating point number relating to the horizontal velocity of the rocket with respect to the platform was converted to a 16 bit signed integer. The number was larger than 32,767, the largest integer storeable in a 16 bit signed integer, and thus the conversion failed.

Software from the Ariane 4 was carried over and modified for the Ariane 5. However, the newer rocket accelerated faster than the older one, so the value in this variable had the potential to be much larger than the variable could hold.

Here’s the full report. Score one for weakly-typed languages.


Comments

by Mr. G,   April 24, 2006 2:40 AM  

lol.


by oluckboy,   April 24, 2006 1:09 PM  

i wonder what language they wrote it in.


by ynaught,   April 24, 2006 2:55 PM  

Language = Ada (see "full report" quoted above)


by aadil,   April 25, 2006 3:12 AM  

Bug squash!


by Peter`,   November 10, 2006 8:58 PM  

Rocket disasters like this have been mentioned in our computer science textbooks to emphasize why diligent programming is important...



Comments are Closed

Thanks to all who participated.

Want to advertise on this site? Contact FM.