软件Bug引发的十次严重后果
2010-11-11 14:22
225 查看
2009年2月份Google的Gmail故障,应该算是最近因软件故障而受到广泛关注的事件。据Google后称,那次故障是因数据中心之间的负载均衡软件的Bug引发的。
Gmail故障还仅是导致用户几个小时内无法访问邮箱,并没有造成伤亡。当然了,对某些用户来讲,是非常不便。但是相比较以下的BUG所引起的误会与灾难却是小巫见大巫了。
一触即发的第三次世界大战
1980年,北美防空联合司令部曾报告称美国遭受导弹袭击。后来证实,这是反馈系统的电路故障问题,但反馈系统软件没有考虑故障问题引发的误报。
1983年,苏联卫星报告有美国导弹入侵,但主管官员的直觉告诉他这是误报。后来事实证明的确是误报。
幸亏这些误报没有激活“核按钮”。在上述两个案例中,如果对方真的发起反击,核战争将全面爆发,后果不堪设想。
“漏网”的臭氧层空洞
南极洲上方的臭氧层空洞一直存在但长期未被发现,这是为什么?
1978年,NASA启动臭氧层测绘的计划。在设计之时,用于该计划的数据分析软件忽略了和预测值有很大差距的数据。直到1985年,才发现南极洲上方的臭氧层空洞,但不是NASA发现的(是英国科学家先发现的)。直到NASA重新检测它们的数据,才发现这一错误。在修正错误后,NASA证实南极臭氧层的确有个很大的空洞。
致命的辐射治疗
1985到1987年,Therac-25辐射治疗设备卷入多宗因辐射剂量严重超标引发的医疗事故,其罪魁祸首是医疗设备电力软件的Bug。据统计,大量患者接受高达100倍的预定剂量(治疗),其中至少3人直接死于辐射剂量超标。
另一宗辐射剂量超标的事故发生在2000年的巴拿马城(巴拿马首都)。从美国Multidata公司引入的治疗规划软件,其(辐射剂量的)预设值有误。有些患者接受了超标剂量的治疗,至少有5人死亡。后续几年中,又有21人死亡,但很难确定这21人中到底有多少人是死于本身的癌症,还是辐射治疗剂量超标引发的不良后果。
阿丽亚娜5型火箭的杯具处/女秀
1996年6月4日,阿丽亚娜5型运载火箭的首航,原计划将运送4颗太阳风观察卫星到预定轨道,但因软件引发的问题导致火箭在发射39秒后偏轨,从而激活了火箭的自我摧毁装置。阿丽亚娜5型火箭和其他卫星在瞬间灰飞烟灭。(见图3)
后来查明的事故原因是:代码重用。阿5型的发射系统代码直接重用了阿4型的相应代码,而阿4型的飞行条件和阿5型的飞行条件截然不同。此次事故损失3.7亿美元。
飞行事故
1994年在苏格兰,一架吉努克型直升飞机坠毁,29名乘客全部罹难。然而最初指责声都指向飞行员,但后来有证据表明,直升飞机的系统错误才是罪魁祸首。
另外一次因软件而引发的飞行事故发生在1993年。瑞典的一架JAS 39鹰狮战斗机因飞行控制软件的Bug而坠毁。
消失在太空
在制造其火星气候轨道探测器时,一个NASA的工程小组使用的是英制单位,而不是预定的公制单位。这会造成探测器的推进器无法正常运作。正是因为这个Bug,1999年探测器从距离火星表面130英尺的高度垂直坠毁。此项工程成本耗费3.27亿美元,这还不包括损失的时间(该探测器从发射到抵达火星将近一年时间。)
太空中看到的爆炸
据传,在冷战时期,CIA曾成功向前苏联“输出”一个有设计缺陷的控制软件,该软件用来控制天然气主管道。(KGB从一家加拿大公司窃取该软件。)那个植入的Bug最终引发了1982年的西伯利亚天然气管道大爆炸。
CIA前高/官里德回忆道:“那次爆炸的结果是非常惊人的,它是除了核爆炸之外最壮观的爆炸之一,腾起的熊熊大火甚至从太空中都能看到,并已被卫星拍摄了下来。”
虽然这个例子是有意而为之的,但其足以证明软件缺陷可以引发的致命后果。
仔细测试:不仅能省钱,更能救人
虽然本文中提到了10个例子,但这只是冰山一角。全球每年因软件缺陷引发的问题数不胜数。
软件缺陷的代价极其昂贵。2002年,美国国家标准与技术研究所的一项研究表明,软件缺陷给美国每年造成的损失高达595亿美元。想想全球这个数额会是多大。那项研究还证实:超过1/3的损失——高达222亿美元,原本稍加测试,即可避免。
Gmail故障还仅是导致用户几个小时内无法访问邮箱,并没有造成伤亡。当然了,对某些用户来讲,是非常不便。但是相比较以下的BUG所引起的误会与灾难却是小巫见大巫了。
一触即发的第三次世界大战
1980年,北美防空联合司令部曾报告称美国遭受导弹袭击。后来证实,这是反馈系统的电路故障问题,但反馈系统软件没有考虑故障问题引发的误报。
1983年,苏联卫星报告有美国导弹入侵,但主管官员的直觉告诉他这是误报。后来事实证明的确是误报。
幸亏这些误报没有激活“核按钮”。在上述两个案例中,如果对方真的发起反击,核战争将全面爆发,后果不堪设想。
“漏网”的臭氧层空洞
南极洲上方的臭氧层空洞一直存在但长期未被发现,这是为什么?
1978年,NASA启动臭氧层测绘的计划。在设计之时,用于该计划的数据分析软件忽略了和预测值有很大差距的数据。直到1985年,才发现南极洲上方的臭氧层空洞,但不是NASA发现的(是英国科学家先发现的)。直到NASA重新检测它们的数据,才发现这一错误。在修正错误后,NASA证实南极臭氧层的确有个很大的空洞。
致命的辐射治疗
1985到1987年,Therac-25辐射治疗设备卷入多宗因辐射剂量严重超标引发的医疗事故,其罪魁祸首是医疗设备电力软件的Bug。据统计,大量患者接受高达100倍的预定剂量(治疗),其中至少3人直接死于辐射剂量超标。
另一宗辐射剂量超标的事故发生在2000年的巴拿马城(巴拿马首都)。从美国Multidata公司引入的治疗规划软件,其(辐射剂量的)预设值有误。有些患者接受了超标剂量的治疗,至少有5人死亡。后续几年中,又有21人死亡,但很难确定这21人中到底有多少人是死于本身的癌症,还是辐射治疗剂量超标引发的不良后果。
阿丽亚娜5型火箭的杯具处/女秀
1996年6月4日,阿丽亚娜5型运载火箭的首航,原计划将运送4颗太阳风观察卫星到预定轨道,但因软件引发的问题导致火箭在发射39秒后偏轨,从而激活了火箭的自我摧毁装置。阿丽亚娜5型火箭和其他卫星在瞬间灰飞烟灭。(见图3)
后来查明的事故原因是:代码重用。阿5型的发射系统代码直接重用了阿4型的相应代码,而阿4型的飞行条件和阿5型的飞行条件截然不同。此次事故损失3.7亿美元。
飞行事故
1994年在苏格兰,一架吉努克型直升飞机坠毁,29名乘客全部罹难。然而最初指责声都指向飞行员,但后来有证据表明,直升飞机的系统错误才是罪魁祸首。
另外一次因软件而引发的飞行事故发生在1993年。瑞典的一架JAS 39鹰狮战斗机因飞行控制软件的Bug而坠毁。
消失在太空
在制造其火星气候轨道探测器时,一个NASA的工程小组使用的是英制单位,而不是预定的公制单位。这会造成探测器的推进器无法正常运作。正是因为这个Bug,1999年探测器从距离火星表面130英尺的高度垂直坠毁。此项工程成本耗费3.27亿美元,这还不包括损失的时间(该探测器从发射到抵达火星将近一年时间。)
太空中看到的爆炸
据传,在冷战时期,CIA曾成功向前苏联“输出”一个有设计缺陷的控制软件,该软件用来控制天然气主管道。(KGB从一家加拿大公司窃取该软件。)那个植入的Bug最终引发了1982年的西伯利亚天然气管道大爆炸。
CIA前高/官里德回忆道:“那次爆炸的结果是非常惊人的,它是除了核爆炸之外最壮观的爆炸之一,腾起的熊熊大火甚至从太空中都能看到,并已被卫星拍摄了下来。”
虽然这个例子是有意而为之的,但其足以证明软件缺陷可以引发的致命后果。
仔细测试:不仅能省钱,更能救人
虽然本文中提到了10个例子,但这只是冰山一角。全球每年因软件缺陷引发的问题数不胜数。
软件缺陷的代价极其昂贵。2002年,美国国家标准与技术研究所的一项研究表明,软件缺陷给美国每年造成的损失高达595亿美元。想想全球这个数额会是多大。那项研究还证实:超过1/3的损失——高达222亿美元,原本稍加测试,即可避免。
相关文章推荐
- 软件Bug引发的十次严重后果
- Win2012R2的一个Bug---安装群集后可能引发的软件崩溃问题及相应补丁
- 古人“吃醋”引发的严重后果刘继兴新浪博客
- 发现了 ANTIARP这个软件的 一个严重的 BUG
- 严重警告:大家不要使用任何形式的免费发短信的软件!后果自负!!!
- [置顶]Win2012R2的一个Bug安装群集后可能引发的软件崩溃问题及相应补丁
- 一段代码引发血案(查看你的杀毒软件灵敏度)
- 网关调试 手机软件出现bug
- 剖析一个由sendfile引发的linux内核BUG
- 软件测试BUG跟踪(trac工具)
- 使用HTTP_X_FORWARDED_FOR获取客户端IP的严重后果
- IT圈子很小,遭遇人肉搜索后果很严重
- 杀毒软件莫名报告你的软件有病毒,严重影响正常程序的推广怎么办?
- 线程bug引发的中奖作弊程序设计
- CPU 的 Bug 真能用软件修补?盘点 CPU 爆过的那些大 Bug
- 盛大的软件Bug
- 有关ArrayList增加Map引发的一个BUG
- 一个折腾了我差不多三天的BUG引发的反省
- 软件测试过程中如何区分什么是功能bug,什么是需求bug,什么是设计bug?
- [ZT]智能ABC一严重Bug可使任意程序崩溃