记录督促学习历程8

第十五章

8.7,今天被导师训话了,确实主观上有点问题,客观原因都应该尽量克服,得表现出来做事的态度,不仅是工作中,还是生活中都应该有一个做事的严谨态度,不能给自己找借口,在这里衷心向指导我工作和人生经验的导师给予深深的敬意和歉意。

回到正题,第十五章是可依赖性和信息安全保证,主要是需要,1理解不同的静态分析方法在要求极高的系统的检验中怎样使用2理解可依赖性和信息安全性测试中的基本要素,以及测试要求极高系统的固有问题,3了解过程保证为什么是重要的,特别是当软件需要由一个管理部门认证时,4介绍了安全和可依赖性用例,给出系统安全和可依赖性的论点和证据。
可依赖性和信息安全性保证是关于对要求极高的系统能否满足其可依赖性要求的检查。
对要求极高的系统的检验和有效性验证显然与其他系统有效性验证是很相似的。要求极高的系统要求特别严格的测试和分析,主要原因有两个
1失败的代价,2可依赖性属性的有效性验证。因为上述原因,要求极高的系统的V&V成本通常比其他类型系统要高得多,尽管成本很高,但是由于它们常常能使故障发生的损失明显降低,所以也被认为是值得的。可依赖性和信息安全性保证过程的结果时有形的看得见的证据,比如说关于系统可依赖性的审查报告、测试结果等,这样的证据可能后来会用来证明关于部署和使用一个系统是足够可靠的和安全的这样一个决定,有时,系统可依赖性的证据体现在一个可依赖性和安全性的用例中,用这样的用例来说服客户和外部管理部门,开发者在系统可依赖性或安全性方面的信心是有理由的。
这里,需要注意一下,是我对于可依赖性的定义,有忘了一些,需要回顾一下。

静态分析技术是不涉及程序执行的系统检验技术,它工作在软件的原始形态层面上,比如描述模型和设计模型,或者是程序的源代码。静态分析技术能够用来检查系统的描述和设计模型,从而在系统的可执行版本之前发现错误。它的优势在于其错误呈现不会干扰系统的检测,当测试一个程序时,一个缺陷可能掩盖其他缺陷,所以当删除一个检测到的缺陷时必须重复测试程序。
可能最通常使用的静态分析技术是同行评审和检查:描述、设计和程序是由同一组人检查的,他们详细地检查设计和代码,查找可能的错误和遗漏。另一个技术是用用设计建模工具来检查UML中的异常,比如说在不同的对象中名称的重复使用,对于要求极高的系统来说,有三个静态分析技术可能会被用到,1形式化的检验,即用严密的数学论证以说明程序符合它的描述说明。2模型检测,就是用一个定理证明器(定理证明器?)来检查系统的形式代描述的不一致性3自动程序分析,即检查程序源代码的形式,以发现其可能存在的错误。
静态分析器可能使用嵌入在程序中形式化断言作为注解来检查相关代码与这些断言的一致性。
这些技术之间是紧密相连的。

软件开发的形式化方法是基于作为系统描述的一个系统形式化模型的,这些形式化方法主要关注于对描述的数学分析,将这个描述转变换成一个更详细的、语义上等价的描述,或者使用形式化检验来验证系统的一种描述和另一种描述在语义上是等价的。
这里提到一个拓展概念:净室开发,是建立在形式化软件检验和静态测试的基础上的,净室处理的目标是零缺陷软件,用来保证发布的系统有高级别的可依赖性,在净室过程中,每一个软件增量被形式化地详细定义。下面是形式化方法在V&V过程的不同阶段中使用的例子;1系统的形式化描述的使用的数学分析可能是为了一致性,2使用数学证明,可以形式化检验软件系统的代码和它的描述是一致的。
另外地因为形式化的系统描述和程序代码之间存在较大的语义上的差距,所以很难证明一个单独开发的程序时和它的描述相一致。
形式化描述和证明并不能保证软件再实际使用中将是可靠的主要是因为1描述可能没有反应系统用户真正的要求,2证明可能包含错误,3证明所假设的使用方式可能是错误,

尽管有这些不足,但是形式化方法在开发要求极高的软件系统过程中扮演者一个重要角色。
关于模型检测,首先是使用演绎的方式形式化地检验系统是比较困难且昂贵的,人们又提出了另外一个形式化分析方法,它是基于一个更有限的正确性概念,这些方法中最成功的是模型检测。主要是被用来检查硬件系统的设计,针对,要求极高的软件系统,
模拟检测包括创建一个系统模型,并且使用特殊的软件工具检查模型的正确性。模型检测过程包括建立系统形式化模型,主要是要用到拓展有限状态机。
模拟检测器中的一个关键问题是系统模型的创建,模型检测时计算开销很大,因为它使用一个详尽彻底的方法来检查所有通过系统模型的路径。
随着识别部分未探索过的状态的算法的改进,在要求极高的系统开发中理性使用模型检测变得更加可行。
自动静态分析,静态分析工具对系统源代码进行加工,并且至少对于一些类型的分析不需要进一步的输入,静态程序分析器是一个软件工具,扫描程序源代码,审查可能的缺陷和异常之处,它不需要去执行程序,而是通过解析程序文本从而识别出程序语句的各个部分。
在静态分析器中,有三个级别的检验可能需要实现:1特有错误检查2用户定义错误检查3断言检查
静态分析对查找程序中错误是很有效的,但是一般会产生大量的误报,静态分析对于信息安全性检查来说尤为具有价值,如今静态分析在很多机构中的软件开发过程中例行使用。
下一节是关于可靠性测试的,
可靠性测试是度量系统可靠性的一个测试过程。
主要是包括四个阶段,1从研究已经存在的同一类型系统开始,理解这些系统在实践中是怎样被使用的。2构造一个能反应运行概况的测试数据集合。3使用上面生成的测试数据对系统进行测试、记录发现的失败和每个失败类型发生的次数。4当观察到相当数量的失败后,软件的可靠性就可以计算了。
可靠性测量方法虽然在理论上看起来很好,但是有一些困难:1运行概况的不确定性2测试数据生成的高成本3在指定高可靠性情况下统计的不确定性4识别故障
统计性测试通常能发现那些V&V过程发现不了的错误。
软件的运行概况反映软件再实际过程中将是如何使用的。
不过,当一个软件系统是新的或者有所创新的时候,预期它将如何使用是很困难的。对于一些像电信系统这样使用一个标准化的模式的系统来说,开发准确的运行概况是完全有可能的。
信息安全很难评估主要是因为1在于信息安全性需求,就像某些安全性需求一样,是“不应该”的需求2攻击系统的人很聪明,并且很积极地去发现系统的弱点。
检查系统的信息安全性可以使用组合测试基于工具的分析和形式化的检验:1基于经验的测试2老虎小组3基于工具的检测4形式化检验
需要注意是,不可避免会受到测试团队可用的时间和资源的限制。
过程保证是关于系统开发中使用的信息以及这些过程的结果的收集的活动。需要专注1我们是否拥有正确的过程2我们正在进行的过程是否正确
未完待续、、、、、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值