什么是软件可靠性?
笔者是汽车电子行业的从业者,笔者咨询过很多同行如下两个问题:
1、在您现在或者以前的项目上是否有人向您提出过软件可靠性指标?
目前笔者没有收到过肯定的答复,几乎所有人的答复都是没有指标,靠流程保证软件可靠。
2、是否有流程或办法帮助我们评估软件中的海森堡bug并进行优化?
答案基本上也是目前没有。(海森堡bug定义参见文章汽车电子读书笔记-专业术语解析07- 海森堡bug与波尔bug)
正是对上述两个问题的困惑,促使笔者去思考一个问题,软件的可靠性真的没有办法评价么?目前行业内是否有参考的标准?笔者运气很好找到了IEEE 1633-2016 Recommended Pratice on Software Reliability这份标准。笔者也把这份标准推荐给所有感兴趣的同行,希望可以和大家一起研究探讨,笔者也会整理这份标准的内容进行分享和实践。
首先我们来看一下什么是软件可靠性工程?
IEEE610.12-1990 中定义可靠性是“一个系统或者组件在规定的时间和条件下执行规定要求的能力The ability of a system or component to perform itsrequired functions under stated conditions for a specified period of time”而我们现在提出的软件可靠性工程(SRE software reliability engineering),就是指应用统计学技术收集系统开发和应用过程中的数据来说明、估算或者评估软件系统的可靠性(The application of statistical techniques to data collected during system deve