一、可信软件概述
(一)可信软件
- NRTC
- NRC
- 国家自然科学基金委
(二)可信软件的特征
- 可靠性、可靠完全性、保密安全性、可生存性、实时性。
二、可信软件的验证技术
(一)形式化方法
1、系统分析与验证的步骤
- 通过数据流描述、变量关系描述和软件体系结构描述等图形符号,从形式化需求模型中抽取不同形态的分析模型
- 根据软件的特点划分为不同分析目标,为每个验证分析目标定义出相应技术。
- 针对建立的性质集合,采用模型检测的方法自动地发现漏洞与验证软件是否满足高安全可靠性需求。
- 自动生成测试用例,基于系统模型及需求自动生成关于软件实现的测试用例集提高系统测试的效率和错误发现能力。
- 将形式化模型进行仿真。仿真主要用于检测模型中人们所关心的系统行为在执行时是否存在错误,是一种类似于“运行”系统来暴露错误和缺陷的分析方法。
(二)形式化建模与方法
- 定理证明
- 模型检查
(三)可信软件验证工具
- Spin:开源形式化软件验证工具
- NuSMV:开源形式化软件验证工具
- Atelier-B