【发布时间】:2011-02-05 06:13:48
【问题描述】:
我们如何分析软件的可靠性?如何检查任何应用程序或产品的可靠性?
【问题讨论】:
-
“可靠性”是什么意思? “分析”和“检查”是什么意思?请定义您的条款。
标签: reliability
我们如何分析软件的可靠性?如何检查任何应用程序或产品的可靠性?
【问题讨论】:
标签: reliability
首先尝试定义“软件可靠性”以及量化它的方法。
如果你完成了这个任务,你可能就能“检查”这个特性。
【讨论】:
检查可靠性的最有效方法是运行您的软件并收集有关其实际可靠性的统计数据。在硬件和软件层面,有太多变数在起作用,无法在执行之前实际分析可靠性,但像 NASA 这样拥有大量资源的团体可能是个例外。
【讨论】:
有多种方法可以确定一个软件是否符合规范,但大多数真正有效的方法是通过构造来做到这一点,即通过限制软件的编写方式,以便可以轻松地展示给是正确的。查看 VDM、Z 和 B 工具包,了解执行此类操作的方案。请注意,如果您不在安全关键系统环境中,这些往往是昂贵的编程方式。
证明规范本身的正确性真的很不简单!
【讨论】:
可靠性是关于正确服务的连续性。
评估软件可靠性的最佳方法是动态分析,换句话说:测试。
为了减少您的测试时间,您可能希望应用与操作不同的输入配置文件。
应用各种输入分布,衡量您的软件运行时无故障的时间。然后找出您的输入分布与操作配置文件的距离,并得出关于软件在操作配置文件中运行的时间的结论。
这涉及建模技术,例如马尔可夫链或随机 Petri 网。
为了进一步挖掘,有用的关键字是:故障预测和统计测试。
【讨论】: