对于程序员来讲,bug就是他们的致命天敌。对于一般的bug来讲,进行简单地修复就解决问题。但以下9个bug,引发了巨大额灾难,已被载入历史史册。bug千万条,唯有这9条最为致命,我们一起来看看吧。
1962年的Mariner Bug
损失:1850万美元
经过:航空软件bug直接导致Mariner 1号火箭在发射不久后就偏离了其预期运行轨道,任务控制中心在其发射293秒后就摧毁了火箭。
原因:一名程序员将公式错误地录入到计算机代码中,直接导致计算机错误地计算了火箭的运行轨道。
1985年Therac-25医疗加速器事件
损失:死亡3人,严重受伤3人
经过:加拿大的Therac-25放射机发生故障,导致病人受到大量的辐射。
原因:Therac-25是建立在一款没有经过正规培训的程序员开发的操作系统上,由于这款不易被察觉的“Race Condition”的Bug,一名技术员可能在病人没有进行任何防护的情况下,意外地将Therac-25配置为高能模式。
1999年的灾难性研究
损失:信誉
原因:这个事件很有讽刺意味:软件经常被用来分析未知的灾难,却没能够算出自己的灾难。《新英格兰医学杂志》报道说在严重的自然灾害之后,自杀率也会急剧增长,言之凿凿。但是,这些结果被证实有误。
原因:由于编程错误等原因导致最后的自杀数字结果翻番——足够推翻整个研究了。
1999年英国护照难产
损失:1260万英镑,造成大量不便
经过:英国护照签发机构使用了一套西门子的新计算机系统,结果并没能及时解决英国居民的护照问题。最后,该机构不得不支付数百万英镑赔偿给那些加班的员工,还得为冒雨等待护照的居民提供雨伞。
原因:当时的法律刚出台一项规定,要求16周岁以下的儿童需要护照才能出国旅行,导致护照需求猛增。机构使用了新的计算机系统,但在使用之前,没有做任何的测试也没有培训员工如何使用,而且过多的需求也使新计算机系统不堪重负。
EDS放弃了对儿童的援助支持
损失:5.39亿英镑
经过:商业服务巨头EDS公司为英国儿童抚养机构(简称CSA)开发了一个计算机系统,导致该抚养机构给190万人多付了款,少付款给70万人,还有35亿英镑的儿童抚养费未收到款,积压的待办事宜达23.9万件, 有3.6万件新的案子“卡”在系统上,还有超过500条的错误记录。
原因:EDS为CSA引入了一个复杂、大型的IT系统,还试图对CSA进行重组。
2000年FBI Trilogy的终结
损失:花费1.05亿美元
花费1.05亿美元,尚无有效的档案管理解决方案,虚拟个案档案项目是一个集成的大型软件系统。
经过:通过4年的努力,FBI放弃了对计算机系统进行改革。
原因:试图用技术建立一个长期的项目,必须要在旧项目过期之前完成,否则新系统会无法使用。
2000年爱虫病毒
损失:87.5亿美元,上百万计算机被感染
经过:该病毒感染了数百万台计算机,造成史上最大的损失;该病毒会删除文件,更改主页并打乱注册表。
原因:爱虫病毒通过电子邮件、互联网聊天以及共享文件系统等渠道感染用户的计算机。电子邮件有一个可执行的附件和一个名为“我爱你”的主题行。用户打开附件时,病毒就会感染用户计算机并发送给地址薄上的其他人。
1999年千年虫Bug
损失:5000亿
经过:一个人的灾难造就了其他人的创富,用这句话来形容臭名昭著的千年虫Bug再合适不过了。公司提供数十亿资金给给程序员,让他们来解决遗产软件中的小问题。虽然没有发生任何电脑故障,但是千年虫漏洞对所有涉及计算机行业的产品都造成了一定的影响。
原因:为了节省计算机的存储空间,遗产软件经常将存储日期用两位阿拉伯数字表示,即用“99”来表示“1999”,还用“00”来代替“1900”而不是2000,所以到2000年的时候,软件漏洞就表现出来了。
1996年Ariane火箭爆炸
损失:5亿美元
经过:Ariane 5是欧洲最新的无人驾驶火箭,在处女航开启数秒后被人为摧毁,同时被摧毁的还包括4颗卫星。
原因:Ariane 4火箭的工作代码在Ariane 5中被重新使用,但是Ariane 5更高速的运算引擎在火箭航天计算机中的算法程序中触发了Bug。最终导致了航天计算机的崩溃。
网友评论