课程思政





软件重大质量事故案例

        随着软件在各行各业的日益推广,其产品和服务直接关系到国计民生,不合格的软件可能危及生命或造成重大财产损失,软件质量因此显得尤为重要。

          1991 年 2 月 25 日,海湾战争期间,沙特阿拉伯的爱国者导弹发射台未能追踪和拦截一枚来袭的伊拉克飞毛腿导弹。飞毛腿导弹击中了美国陆军的一个军营,造成 28 名士兵死亡,约 100 人受伤。这一问题是由于计算机算数错误,导致启动后时间计算不准确。准确地说,用系统内部时钟测量的十分之一秒的时间乘以 1/10,以秒为单位返回时间,结果,它算出的时间是错误的,导弹因此也就无法拦截伊拉克飞毛腿导弹的攻击。同样又是系统的四舍五入错误。

          1996年6月4日,阿丽亚娜5型运载火箭的首航,原计划将运送4颗太阳风观察卫星到预定轨道,但因软件引发的问题导致火箭在发射39秒后偏轨,从而激活了火箭的自我摧毁装置。阿丽亚娜5型火箭和其他卫星在瞬间灰飞烟灭。后来查明的事故原因是:代码重用。阿5型的发射系统代码直接重用了阿4型的相应代码,而阿4型的飞行条件和阿5型的飞行条件截然不同。此次事故损失3.7亿美元。

          2000年巴拿马城(巴拿马首都)发生辐射剂量超标事故。从美国Multidata公司引入的治疗规划软件,其(辐射剂量的)预设值有误。有些患者接受了超标剂量的治疗,至少有5人死亡。后续几年中,又有21人死亡,但很难确定这21人中到底有多少人是死于本身的癌症,还是辐射治疗剂量超标引发的不良后果。

          2011年7月23日20时30分05秒,甬温线浙江省温州市境内,由北京南站开往福州站的D301次列车与杭州站开往福州南站的D3115次列车发生动车组列车追尾事故,造成40人死亡、172人受伤,中断行车32小时35分,直接经济损失19371.65万元。上海铁路局局长安路生28日说,根据初步掌握的情况分析,“7·23”动车事故是由于温州南站信号设备在设计上存在严重缺陷,遭雷击发生故障后,导致本应显示为红灯的区间信号机错误显示为绿灯。

          2018年印尼狮航一架波音737 MAX 8客机途中坠落,189人罹难,失事原因为软件设计缺陷,飞机的迎角传感器“数据错误”触发“防失速”自动操作,导致机头不断下压,最终坠海。

        以上种种案例显示,一些软件错误的代价可能是十分昂贵的,也因此,需要通过软件测试等质量保证手段来尽可能地对潜在错误进行排除,确保系统的安全与稳定,这是我们开发者的责职所在。

Copyright © 2024 上海交通大学软件工程原理与实践 版权所有
l>l>>