欢迎访问国可工软科技有限公司官方网站!4000032330

可靠性基础 可靠性流程 可靠性开发 可靠性评估 可靠性标准
软件可靠性

【技术分享】系统性谈谈软件可靠性——第6讲:单独谈谈软件导致的问题

作者:admin 时间:2022-09-02

本文为《软件可靠性简介》培训课程中摘录的公开内容。

本文目录:

一、软件性与产品的关系

二、软件导致的问题


本文为拓展内容,《可靠性工程师手册》一书中并无此内容。因我跟产品打交道多,所以谈谈软件导致的问题。


一、软件性与产品的关系


首先我们要明确下产品的概念。所谓产品,是指不发生可能造成人员伤亡、职业病、设备损坏、财产损失或环境损害的状态。这个我在产品系列文章中有讲,详见《产品系列1:的基本概念》。

在本系列的第一篇文章里(《系统性谈谈软件可靠性——讲:软件可靠性基础概念》),我们特意强调了软件的性和软件导致的问题,不是同一个概念。


我把它们之间的关系总结为3点:


1.软件性不够,容易给整机带来问题。例如,由于软件本身的性不足,无法抵御黑客入侵,导致整机被控制、破坏,产生问题。举个例子:2012年5月,新泽西州发生了一起黑客侵入心脏起搏器夺人性命的离奇案件。原本正常的起搏器突然超负荷运作,不断高频度的刺激心脏,使心脏在短时间内无法承受而的停止了工作,而起搏器也因为超负荷运作而报废。


2.不是所有软件性问题,都会导致整机不。在讲中,我们讲了软件本身的性,是包含保密性、完整性、抗抵赖性、可核查性、真实性这五个子特性的。举个例子来理解,假设我们软件没有去考虑“可审查”这点,非权限外的人员去操作了,或者权限内的人员没有按要求操作,这些没有记录,从软件性来讲,这个软件是性不够。但如果这个软件本身控制的东西就没有什么问题,那它不会导致整机的问题。


3.不是所有整机问题,都是因为软件本身性不够导致,更有可能是因为Bug。举个例子,我们假设有一个发热设备控制软件,设置了各种权限,有的日志记录,还带有自毁功能,一旦受到任何攻击启动自毁,本身性很高。但软件有个bug,会导致发热设备在某个情形下不停机了,一直发热,这个时候,如果我们本身没有对设备做一些额外防护(例如结构防护,或者程序上设计超时终止任何其他程序),它可能温度超高,最终导致起火的问题。


二、软件导致的产品问题


理解了上述内容后,我们特别讲下由于软件出错导致的问题。

因为我们做家电,常见的六大维度问题,是起火、触电、爆炸、漏水、机械伤害、误操作。所以这里就讲这六个类型,我搜集了一些案例。

起火:通常,发动机起火是由于过热而发生的,这是一个机械问题。但是,现代汽车发动机和变速箱是由计算机控制的,并且像任何计算机一样,可能存在软件缺陷,带来意想不到的后果。这正是某些2013年现代Velosters所发生的事情。

现代汽车在美被曝出多起车辆发动机非碰撞起火事件,公路交通管理局(NHTSA)对此展开了调查。调查发现,2013年4月26日至2013年10月16日生产的2013款飞思出现了软件故障,有可能导致发动机熄火甚至起火。
NHTSA 表示,问题汽车中的发动机管理软件可能会导致发动机中的空气/燃料混合物过早点火,由此产生的过高气缸压力可能会损坏飞思搭载的1.6升涡轮增压发动机。

在家电行业,很可能会发生的是程序Bug导致干烧,温度过高,引发起火。

触电:触电方面,这个我没有找到因为软件问题导致直接触电的案例。但很多系统,可以使用软件去做一些预防提示。例如,安装防误系统软件可以有效防止变电站工作人员的误操作和人身触电。如果这个防误软件出了Bug,给出错误的提示,就很可能会导致触电问题。所以变电站是还有其他多重防护措施的:严格管理制度,提高值班人员的技术含量,提升现场操作人员的工作技能,在带电设备旁要设置明显标志牌,采取的隔离措施,操作等等。

爆炸:1996年6月4日。“阿丽亚娜-5”运载火箭进行测试发射,结果是失败的。在火箭发射后的第37秒就被迫自爆。经过检查后发现,原因竟然是因为控制火箭飞行的软件发生了故障。资料显示由于64位元的运算错误的变为16位元的运算,造成程序崩溃后处理器发生数据溢出,读取感测角度水平数据运算时错误地读入垂直数据,导致火箭在高速下进行了90度水平滚转而崩溃,触发了自毁装置。造成了非常大的损失。

家电一般来说,是物理爆炸比较多,大多数是由于用户使用不当导致。但也可能会有化学爆炸,比如一些涉及到可燃气体之类的家电,需要注意点火程序。

漏水:程序设计上有,但没有考虑到动作先后顺序以及过长,导致系统承压,水压作用下开裂漏水。

机械伤害:核管会在2013年9月20日公布的一份报告中表示,已经确定三菱重工 (MHI)用于为圣奥诺弗雷核电站2台机组设计蒸汽发生器的计算机软件存在缺陷 。核管会在报告中指出 ,三菱重工用于设计蒸汽发生器的软件不能准确地预测蒸汽发生器中可导致管道振动和磨损的热工水力条件,最终导致圣奥诺弗雷3号机组在2012年1月因放射性物质泄漏而紧急停堆,而发生泄漏的原因是该机组的1台蒸汽发生器出现管道 “异常磨损”。对2号机组进行的检查发现 ,2号机组的蒸汽发生器也存在同样的问题。此后 ,这两台机组一直处于停堆状态。

对于家电,用传感器进行位置检测是很普遍的情形,如果检测逻辑或算法有问题,判断所处位置错误,而程序没有做保护,最后也很可能导致伤害,如产生机械破损,危险物质溢出等

误操作:程序设计上,以用户操作按键为前提进入判断条件。未考虑用户的非正常操作,直接绕过按键进行了操作。这时程序无终止条件,一直不停机,导致财产损失。

除了上面几个类型,随着家电产品往智能化发展,我们还有考虑服务器的问题。入侵会不会导致产品问题。比如:入侵后,显示错误的信息,使得用户操作错误,例如取冷水时出热水,导致问题。指引信息被修改,用户受到错误的指引操作导致产品出问题。

软件可以导致问题,但也可以利用软件来做一些保护,提升产品。例如:限制最长的加热时间,限制最长的制水时间,判断参数是否有超出传感范围并作出保护等等。

软件本身改起来,成本没那么高,占有的资源相对来说比较小。所以我们在产品设计上,可以考虑在软件上做一些防护,提升产品。


以上文章来源于永恒之地 ,作者徐步陌上行

国可RFMEA

与传统的FMEA分析方法和软件相比,R-FMEA最大的特点是通过其七步的分析流程, 构建了关联紧密的FMEA基础数据关系,即FMEA主模型。通过FMEA主模型,工程人员可以根据需要构建简单的或者复杂的FMEA分析, 并实现企业知识的积累和快速重用。

国可R-FMEA软件支持免费在线使用,并保证数据。日前,R-FMEA V4.6已正式发布,欢迎感兴趣的朋友在线申请。

国可软工.png