Therac-25 radiation therapy machine
后果:6个接受该仪器治疗的病人放射中毒,3个死亡。
问题:1. 仪器控制任务和操作者接口任务没有正确同步,当操作比如按键操作太快时就出现了"竞争条件",而这种操作平时是很难测到的,因为很少情况会操作如此之快碰到这个问题。
2. 这个仪器的代码是从旧仪器代码升级上来的,旧仪器有硬件interlock来屏蔽软件缺点,新仪器没有硬件interlock,这些硬件不能告诉软件它被触发了,所以不能指出潜在的错误软件命令。
参考:Where testing fails By Sean M. Beatty (07/22/03, 12:00:00 PM EDT)
http://www.embedded.com/columns/technicalinsights/12800625?_requestid=327309
The Ariane 5 explosion&nb

本文深入探讨了两个因嵌入式系统设计缺陷导致的重大事故:Therac-25辐射治疗机导致患者放射中毒,以及Ariane 5火箭发射失败。问题主要涉及任务同步错误和类型转换溢出,提醒我们在设计和测试嵌入式系统时需重视潜在的安全隐患。
最低0.47元/天 解锁文章
1427

被折叠的 条评论
为什么被折叠?



