test软件代码静态分析经验

test软件代码静态分析经验

ID:11315378

大小:80.00 KB

页数:15页

时间:2018-07-11

test软件代码静态分析经验_第1页
test软件代码静态分析经验_第2页
test软件代码静态分析经验_第3页
test软件代码静态分析经验_第4页
test软件代码静态分析经验_第5页
资源描述:

《test软件代码静态分析经验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、技术白皮书软件代码静态分析经验版本:2.0日期:2007-3-24西南计算机有限责任公司软件测评中心软件代码静态分析经验前言《技术白皮书》是由上海创景计算机系统有限公司翻译整理的高质量软件开发相关的技术白皮书。鉴于目前国内相关行业实施高可靠性软件开发的现状,我们整理该白皮书的目的是为了帮助软件开发人员在实际工作中更好的改进相关工作。我们希望通过我们的相关工作,辅助客户能够更好更快的实施高质量的软件开发;我们的目标是为您提供一整套的高质量软件的开发和质量保证的解决方案;并通过我们优质的服务保证该方案能够在相关单位按照符合单位现状的方式得到贯彻和实施。如果您有相

2、关的问题或者建议请和我们联系。最后,衷心感谢多年来大家对上海创景计算机系统有限公司的关心和支持!14软件代码静态分析经验软件代码静态分析经验AndyGerman-QinetiQLtd摘要英国国防部提倡采用软件代码静态分析方法,以及一些分析工具的应用。这篇文章讨论的是:静态分析是什么,对一些静态分析工具的评价,以及对军用航空软件进行静态代码分析所获得的一些经验。这篇文章是基于2001年2月英国布里斯托尔ISBN1-85233-411-8Springer第九届安全苛刻性协会论坛的‘安全苛刻性系统协会’的一篇,是一篇航空软件代码静态分析的经验之谈。一.绪论大部分软

3、件错误虽然令人感到厌烦,但却没有太的危害的,一个很好的例子如:word处理软件的崩溃。然而,某些类型的软件错误会导致严重的后果,例如:飞行器的飞行控制软件的失效将会是灾难性的。控制系统软件的失效会危及生命安全,飞行器类软件被称为“安全苛刻性软件”。开发者、用户、公众及权威认证机构都很关心其完整性。最近大规模的航空软件的评估已经产生了一些有意义的结果,结果表明软件开发语言的选择对生产安全可靠的航空电子设备是多么的重要。这篇文章的内容:l包含了一些常用的鉴别安全苛刻性软件及其功能的方法;l讨论了一些静态代码分析的方法;l描述了一些静态分析技术;l确定了一些工具的

4、可用性;l提供了一些实际应用静态代码分析的结果。二.静态代码分析14软件代码静态分析经验在操作安全苛刻性软件的时候,必须可以完全预知其结果和它必需的特性[Barnes03]。除动态测试之外,这些代码也要进行静态测试:严格检查软件(不动态执行软件)在所有运行条件下都是正确的。内容包括对代码、结构设计以及相关文档细致检查,这些一起对软件系统提供了一个完全的描述[Buckle98]。有很多技术都被称为“代码静态分析”,可以用分析的种类和分析的深度对这些分析技术进行描述[Wichman95]。种类指的是分析的主要的目标,可能与特殊的属性有关,例如:可移植性。深度就是

5、指分析的深度。三.安全苛刻性软件评估由于对航电系统的评估变得越来越复杂,在1992年,英国国防部采用了安全评估的方法。国防部同时也将“经验之谈”/“最好的经验”方法作为安全评估的部分。航空防御标准00-979[DS970]和航空防御标准00-971[DS971]是系统安全设计要求的系统设计标准。安全评估方法现在已经被全面应用到航空方领域,同时通过额外的说明,它不会限制可能的设计方案并且它可以很快的应用于新技术的评估上,因此带来了极大的好处。目前首选的安全苛刻性代码功能性(包括系统的健壮性)评估的方法是使用自顶向下的分析,一开始定义安全目标,即可容忍的灾难性灾

6、祸的比率包括航空失事。通过对最近的飞行器项目的分析发现,这些采取“自底向上”的风险评估方法的项目在某些地方产生的风险在700和1500之间。自底向上的方法不能控制风险,也无法表明这些风险与系统之间的整体关系,同时也无法知道它们真实的类别。管理大量的风险是困难的,因此自顶向下的评估方法用来精练这些论点的。“自顶向下”的方法通常导致大约100重大风险,被鉴别为大约10级事故。系统的HAZOP[DS58]方法和软件功能性评估表明它本身是一种无价的工具特别是在定义系统的健壮性需求方面。通过充分的论证,允许系统设计人员和调整权威展示:l风险鉴别l安全功能性理解l健壮性

7、需求鉴别l风险降低到一个可接受的级别如果可能的话,降低风险的第一种措施也是最好的措施14软件代码静态分析经验就是避免使用安全苛刻性软件。四.为什么进行代码静态分析在英国防御工程中,推荐使用防御标准00-55[DS55]。这个标准针对安全苛刻性软件详细的描述了两种基本方法:l使用形式化方法(正确的设计)l进行代码静态分析(与设计一致)相关的内容包括:l选择一种合适的高级语言(包括合适的开发子集的定义)l预防性编程l独立的验证和确认行为l全面的文档和配置管理l测试和测试覆盖l编译器验证形式化方法并没有被广泛的使用:l某些最近的飞行器的维护工作,其相关的开发要追溯

8、到二十世纪七十年代的后期,那时形式化方法工具和支持都

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。