23、软件问题:风险与责任解析

软件问题:风险与责任解析

1. 软件相关定义

软件在开发阶段,即便广泛使用数学技术进行开发测试,也无法确保代码无错。将代码验证重点放在底层算法和基本计算上,同样不能消除所有错误,因为并非所有错误都存在于这些方面,所以仅靠测试无法根除所有漏洞。

1.1 验证与确认(V&V)

验证与确认过程结合了静态形式化数学技术(如正确性证明)和动态技术(如测试),以确保代码与初始基本规范保持一致。该过程从软件规范出发,设计测试来发现待审查软件的缺陷。测试用例随机选取,但随着编程向机器代码层面深入,软件漏洞愈发难以检测,再多的 V&V 也难以防止漏洞漏网。

1.2 可靠性

与硬件产品不同,软件可靠性无法通过磨损或生产数量衡量。软件可能因意外输入序列而无法输出预期结果。软件可靠性可定义为软件不遇到导致故障的输入序列的概率。一个可靠的软件应能在众多不可预测的输入序列下持续运行。代码中的错误数量也可作为可靠性的衡量指标,但这并非可靠的衡量标准,因为错误少的程序不一定比错误多的程序更可靠。由于没有系统能保证无错,软件系统也不例外,因此存在并将继续存在系统达不到可靠性标准的情况。

例如,丹佛国际机场行李系统,该市委托一家自动化行李公司设计和建造该系统,但交付后所有初始测试均失败,最终不得不聘请另一家公司,建议采用一个较小、较便宜但能运行的手动系统与自动化系统并行。机场开通时,因该系统延误导致超预算 20 亿美元。

1.3 安全性

随着计算机技术的进步,我们对其依赖增加,安全问题也日益凸显。软件是计算机系统的重要组成部分,系统安全更多依赖软件而非硬件。相比硬件,通过软件“漏洞”进行的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值