细分的领域属于可信软件,可信软件的分析与测试是一系列的有软件分析计算支撑起来的新技术。这篇文章主要介绍的是可信软件的分析技术,本文定义的软件可信属性与可信计算组织定义的有一些出入,但是方法是相通的。
可信软件分析与测试研究进展
广义地讲,软件可信属性包含的特征属性有可用性(availability)、可靠性(reliability)、安全性(security)、可维护性(maintainability)、完整性(integrity)等。
目前提高软件可用性的技术途径有软件系统的可靠性和可维护性理论和方法、故障诊断与测试技术、系统恢复技术等[software reliability engineering,M]。目前,提高软件可靠性的技术途径有避错法和容错法等,该文献对这两种方法作了详细的阐述。
对于失效安全性测试(safety),常用的测试方法有基于故障树的测试和基于最小割集的测试[software security testing],目前都取得了较好的效果。
对于保密安全(security)性测试,目前主要有静态分析、形式化方法、故障注入、语法测试、模糊测试、基于模型的测试、基于属性的测试等测试方法。在文献[software security testing][web application security assessment by fault injection and behavior monitoring][risk analysis in software design]中分别对这些测试方法的特点作了一一介绍,并且分析了各种方法的优缺点与适用范围,指出了软件安全性测试技术未来的发展方向。</