软件过程与质量t整理.ppt

上传人:摩西的****12 文档编号:133213480 上传时间:2020-05-25 格式:PPT 页数:50 大小:4.54MB
返回 下载 相关 举报
软件过程与质量t整理.ppt_第1页
第1页 / 共50页
软件过程与质量t整理.ppt_第2页
第2页 / 共50页
软件过程与质量t整理.ppt_第3页
第3页 / 共50页
软件过程与质量t整理.ppt_第4页
第4页 / 共50页
软件过程与质量t整理.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《软件过程与质量t整理.ppt》由会员分享,可在线阅读,更多相关《软件过程与质量t整理.ppt(50页珍藏版)》请在金锄头文库上搜索。

1、李宣东 可信软件 认识 度量与评估 提纲 可信软件 能够信任的软件值得信任的软件建立人与软件系统之间的信任关系问题如何理解可信软件 如何度量与评估软件可信性 计算机 软件 计算机已经渗透到我们工作和生活的方方面面 成为我们工作和生活的一部分 从而极大地促进了社会的发展和生产力的提高 各种计算机系统由于其中的软件系统失效经常表现不尽人意 呈现出脆弱 难以信任的特征 甚至造成不可挽回的损失 欧洲阿丽亚娜5型火箭 1996年6月4日因软件失效在发射40秒后爆炸 原因是惯性参考系统软件的数据转换异常造成的失效 美国F 22猛禽战斗机 2004年12月20日 美空军第422测试评估大队的一架F 22战斗

2、机因软件问题在起飞过程中失控坠毁 2007年2月9日同样因软件问题延迟在日本部署 美国电力监测与控制管理系统 多计算机系统试图同时访问同一资源引起的软件失效 原因是空管软件时钟缺陷 美国空管软件 东京证券交易软件 2005年11月1日 东京证券交易所因为软件升级出现系统故障 导致早间股市 停摆 熊猫烧香 病毒 近乎一夜之间 该软件病毒使上百万台计算机感染并遭到破坏 互联网软件安全的几个数据 约80 的家庭用户感染了Spyware美国2004年网络犯罪非法谋利105亿美元50 以上的安全漏洞是由软件缺陷引起的 误杀百万电脑诺顿致歉 由于误将中文WindowsXP中的系统文件当作木马程序屏蔽掉 2

3、007年5月17日和18日 诺顿杀毒软件导致全部安装了该软件的计算机系统瘫痪 根据保守估计 被误杀的电脑在中国内地不下百万台 昨天 诺顿产品的母公司赛门铁克公司发表声明 向用户致歉并发布了官方解决方案 病毒和木马 2010年Stuxnet病毒对伊朗核电站的攻击 利用了Windows系统的4个不为人知的bug 千年虫问题 解决全球 年问题难度极大 其花费将达 亿美金 未曾预料的软件问题 2002年NIST估计软件问题造成美国年经济损失约600亿美元 占GDP的0 6 软件问题造成的损失 我们的信息基础设施正建立在脆弱的软件之上 为什么 软件系统的规模和复杂性正在不断超出人类驾驭的范围 软件产品没

4、有 质保 没有 三包 任何机构和个人都无法确保所开发的软件一定没有问题 Microsoft的承诺 就间接损害不赔付责任 在法律所允许的最大范围内 MicrosoftCorporation或其他供应商绝不就因使用或不能使用本 软件产品 所发生的其他损害负赔偿责任 即使MicrosoftCorporation事先被告知该损害发生的可能性 若为Windows的每一次Bug出现赔偿1美分 比尔盖茨早已一贫如洗 深入认识软件系统 F 4A 1KLOC F 15A 50KLOC F 16C 300KLOC F 22 1 7MLOC F 35 6MLOC 软件已经成为很多系统中最大的使能部件 人类通过软件不

5、断创造财富 延续文明 软件系统的规模和复杂性正在不断超出人类驾驭的范围 Software theGreatEnabler Good YoucandoanythinginSoftware Bad YoucandoanythinginSoftware It sthesoftwarethateffectssystemcomplexity JeannetteM Wing 深入认识软件系统 软件系统是人造的 是人大脑思维的体现人类生产的最复杂制品之一软件系统数学系统生物系统 证明 判定 软件系统是一个数学系统建立人对软件系统的确认关系基于客观证明基础之上的客观认识人证明软件系统是否满足需求 摆脱缺陷软件

6、系统不能成为一个数学系统由于软件系统的规模和复杂性不断增大 客观的证明 需要投入巨大的成本 是现实无法完成的建立人对软件系统的信任关系基于客观证据 部分客观证明 基础之上的主观认识人判定软件系统是否满足需求 摆脱缺陷 什么是可信 可信的定义 可信是主体与客体间的一种信任关系 此关系是在给定上下文环境中 通过某种手段收集到的关于客体的客观证据的基础上 由主体通过一定的判定机理所给出的合理主观判断 软件系统是可信的 人基于客观证据判定软件系统能够满足需求 摆脱缺陷 可信软件 可信软件 能够信任的软件值得信任的软件基于人与软件系统之间的信任关系 软件可信性 表达人与软件系统之间的信任关系可靠性 re

7、liability 安全性 security 防危性 safety 可维护性 maintainability 可用性 availability 容错性 faulttolerance 生存性 survivability 人与软件系统之间的信任关系 可以对应到人与人之间的信任关系知人知面不知心综合性相对性实证性动态性多视角高成本 软件系统的认识与理解直接的认识与理解分析 测试 验证间接的认识与理解第三方推荐 各种网络传播等从认识 理解到信任软件过程的管理与控制过程管理质量控制软件系统的运行保障容错监控 建立人与软件系统之间的信任关系 软件分析 软件分析主要是指针对程序和相关制品的分析 主要包括静态

8、分析和动态分析 软件工具 计算机做为工具 静态分析技术是指通过对程序代码进行扫描分析而获得程序相关性质的技术 动态分析技术通过对程序的执行来获得程序的相关性质 一般与程序切片 调试和测试技术相结合 软件测试 以运行系统为主要手段发现系统错误 工业界常用的途径 成本高 代价大 只能发现系统的错误 不能证明系统没有错 无法回答系统一定没有错误这样一类问题 无法穷尽测试仿真 Simulation 以运行系统模型为主要手段发现系统错误 无法穷尽测试 穷尽功能测试例 一个程序需3个整型的输入数据 若计算机的字长为16位 则每个数据可能取的值有216个 3个数的排练组合共有216 216 216 248

9、3 1014 种 若每执行一次需1毫秒 则需1万年 穷尽结构测试例 一段程序对嵌套的IF语句执行20次 共有520 1014条通路 若每执行一次需1毫秒 则需3000年 形式验证 形式化方法指为说明和验证复杂计算机系统所采用的基于数学的语言 技术和工具 不能确保系统的正确性 但其可以通过揭示系统的不一致性 歧义性和不完备性来增加我们对系统的理解程度 从而提高我们对系统正确性的可信度 建立系统模型 确认系统模型是否存在错误 模型检验 推理验证可以从模型角度回答系统一定没有错误 进一步提高我们对系统的可信度 建模 系统 列控系统 规约 不能相撞 相撞 状态在系统行为中是否可达 输入 模型与规约 遍

10、历状态空间 检查 不可达 可达 返回反例 模型检验 推理验证 程序验证 规约 数学描述 证明 可靠性证据 程序 数学模型 验证 严格保证程序相对于其规约没有bug 内存安全性 功能正确性 终止性 实时性等 软件过程的管理与控制 软件质量定义明确声明的功能和性能需求 明确文档化过的开发标准 以及专业人员开发的软件所应具有的所有隐含特征都得到满足 软件过程管理软件配置管理软件项目管理软件质量保障 软件监控 根据软件系统运行过程中产生的动态信息 监控软件系统的行为在线监控 Online Monitoring OrientedProgramming离线监控 Offline 运行时验证 RuntimeV

11、erification 测试与形式化方法的结合监控系统插桩模块 监控模块 反馈控制模块多核CPU带来的机会 软件容错 在软件运行期间容忍软件缺陷 避免软件实效单版本技术 Single versiontechniques 立足于单个软件版本 引入相关的缺陷和失效检测 容忍 处理技术和机制多版本技术 Multi versiontechniques 结构化地配置软件的多个版本 以抑制设计和实现缺陷所导致的实效 软件可信性度量与评估 软件系统是可信的 人基于客观证据判定软件系统能够满足需求 摆脱缺陷 判定 度量 评估度量是定量 评估是定性度量是通过工具获得客观证据 评估是基于度量结果的主观判断 软件系

12、统的认识与理解直接的认识与理解制品可信分析 测试 验证间接的认识与理解第三方推荐 各种网络传播等软件过程的管理与控制过程管理过程可信质量控制软件系统的运行保障容错运行可信监控 软件可信性度量与评估途径 基于认识与理解途径的可信软件性度量与评估 目的 建立人与软件之间的信任关系基于客观证据形成主观判断从认识 理解到信任认识与理解软件系统满足需求的程度摆脱缺陷的程度维度 模型 代码途径 静态分析 动态测试 形式验证 认识与理解的途径 静态分析扫描代码级制品 发现语法和语义错误驼鸟策略 分析结果形成警告信息警告信息需求要确认 成本很高动态测试动态运行程序以发现错误 是工业界常用途径按功能 模型 代码

13、建立测试覆盖率指标达到既定覆盖率指标相当困难 成本很高形式验证建立系统的形式化模型 验证模型满足给定性质数学模型的状态空间复杂度高主要面对状态空间爆炸问题 核心问题 认识和理解过程中的相关复杂性控制 从认识 理解到信任的判定机理与模型 提高分析 测试和验证等相关技术的有效性和可扩展性 降低成本 基于分析 测试和验证结果度量和评估软件可信性 怎样度量与评估 类似于到医院体检需要度量工具 体检仪器 成本受限 需要有针对性地选择度量与评估手段度量与评估结果怎样比较 体现可信的重要特征 相对性 实证性 高成本需要一个体检表 度量规约 度量规约 度量规约 体检表 用户可信需求和可投入成本的体现由一组对应

14、于度量工具的评估项构成可信性比较的依据度量规约本身需要度量和分级体检表也是分级的度量规约的完备度度量规约也有可信级别 完备级别 度量结果 类似于体检表中的诊断结果 度量规约的完备度认识理解的充分度 各项度量指标值 检测出的缺陷与错误不满足需求的情况存在的缺陷度量规约实例化 度量指标的设定 度量指标相关于分析 测试和验证技术与工具反映认识与理解 分析 测试和验证 的充分度静态分析的相关指标可以用不确定性分析结果 没有经过确认 的数量比例来衡量 测试的相关指标可以是各类模型覆盖度 各类代码覆盖度等 验证的相关指标可以是状态空间的被搜索 遍历 程度 不直接反映检测出的错误与缺陷 度量规约和支撑工具举

15、例 内存泄露的度量与评估 度量规约PurifyFastcheckerMatalLC 软件系统代码 度量规约完备度 各项度量指标值Purify80 Fastchecker75 Matal40 摆脱内存泄漏缺陷的程度 静态和动态分析工具 存在的错误和缺陷 基于认识与理解途径的可信性度量与评估框架 目的 实现从认识 理解到信任框架度量与评估软件系统满足需求的程度摆脱缺陷的程度维度 模型 代码手段 软件分析 测试 验证技术路线手段驱动 相互反馈 动态演化根据分析 测试与验证的能力模型和可扩展空间设定度量因素和指标 可信性度量与评估体系 满足需求程度 摆脱缺陷程度 模型被认识理解程度 代码被认识理解程度

16、 分析途径 测试途径 验证途径 综合途径 可信性度量因素和指标 软件分析 测试和验证方法 技术与工具 基于认识与理解的可信性度量与评估框架 满足需求程度 摆脱缺陷程度 模型被认识与理解程度 代码被认识与理解程度 性质1满足程度 性质2满足程度 性质m满足程度 缺陷1摆脱程度 缺陷2摆脱程度 缺陷n摆脱程度 分析途径 测试途径 验证途径 综合途径 术具技工 术具技工 术具技工 量标度指 量标度指 量标度指 术具技工 术具技工 术具技工 术具技工 术具技工 术具技工 术具技工 术具技工 术具技工 量标度指 量标度指 量标度指 量标度指 量标度指 量标度指 量标度指 量标度指 量标度指 基于认识与理解的可信性度量与评估框架 满足需求程度 摆脱缺陷程度 模型被认识与理解程度 代码被认识与理解程度 性质1满足程度 性质2满足程度 性质m满足程度 内存泄漏摆脱程度 缺陷2摆脱程度 缺陷n摆脱程度 分析途径 测试途径 验证途径 综合途径 量标度指 量标度指 量标度指 量标度指 量标度指 量标度指 量标度指 量标度指 Fastcheck Matal PREfix LC Purify Insure cc

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号