Geek: binary floating point kills... The infamous Patriot missile failure to knock down a Scud that struck a barracks in Dharan, Saudi Arabia (in 1991, during the first Gulf war), was caused by the failure of a binary floating point number to exactly represent the value 0.1.
I once interviewed a software engineer who had quit his previous job, writing firmware for an insulin pump. I asked why he had quit, and he relayed a story that is the stuff of nightmares for any software engineer: the first time his code was used on an actual patient, in trials for the insulin pump, the patient died of an insulin overdose. The overdose was tracked down to a software bug caused by a floating point problem very similar to the one described above. It was in code that my candidate had written, and he quit that same day. This explained why one of his first questions for me was whether our software was ever used in a way that could hurt or kill someone...
No comments:
Post a Comment