摘要 | 第4-5页 |
Abstract | 第5页 |
1 绪论 | 第8-22页 |
1.1 课题研究背景和意义 | 第8-10页 |
1.2 国内外研究现状 | 第10-11页 |
1.3 本文的主要工作 | 第11-12页 |
1.4 本文的组织结构 | 第12页 |
1.5 模型检测概述 | 第12-22页 |
1.5.1 模型检测的基本思想 | 第13-14页 |
1.5.2 Kripke模型和时态逻辑 | 第14-18页 |
1.5.3 软件模型检测技术 | 第18-19页 |
1.5.4 状态空间爆炸问题 | 第19-22页 |
2 一种基于状态变迁矩阵的软件设计建模方法 | 第22-30页 |
2.1 软件设计形式化建模的困难 | 第22页 |
2.2 状态变迁矩阵的形式化定义和动态行为 | 第22-25页 |
2.2.1 状态变迁矩阵的形式化定义 | 第23-24页 |
2.2.2 状态变迁矩阵的动态行为描述 | 第24-25页 |
2.3 状态变迁矩阵模型中时间和概率的引入 | 第25-29页 |
2.3.1 带连续时间因子的状态变迁矩阵模型 | 第26-27页 |
2.3.2 具有随机行为特性的状态变迁矩阵模型 | 第27-29页 |
2.4 本章小结 | 第29-30页 |
3 基于限界模型检测的软件设计验证方法 | 第30-38页 |
3.1 限界模型检测的思想 | 第30页 |
3.2 一个交通灯/行人控制系统模型 | 第30-33页 |
3.3 基于限界模型检测的符号化编码 | 第33-37页 |
3.3.1 时间系统状态迁移规则 | 第33-34页 |
3.3.2 迁移规则的符号化编码 | 第34-36页 |
3.3.3 性质描述方法与验证流程 | 第36-37页 |
3.4 本章小结 | 第37-38页 |
4 基于程序骨架的软件源代码抽象与验证方法 | 第38-53页 |
4.1 软件源代码模型验证的基本思想 | 第38-40页 |
4.2 一种软件源代码的程序骨架提取方法 | 第40-44页 |
4.2.1 基于性质的无关程序语句剪枝 | 第41-42页 |
4.2.2 基于强连通分量的循环路径压缩 | 第42-44页 |
4.3 软件源代码验证中的路径编码方法 | 第44-52页 |
4.3.1 基于Hoare逻辑的循环不变式求解方法 | 第44-49页 |
4.3.2 从程序源代码到SSA形式的转换方法 | 第49-51页 |
4.3.3 程序性质验证的SMT公式编码方法 | 第51-52页 |
4.4 本章小结 | 第52-53页 |
5 实验与验证结果分析 | 第53-58页 |
5.1 实验环境与验证工具 | 第53页 |
5.2 交通灯/行人控制软件设计的验证结果 | 第53-55页 |
5.3 基于程序骨架的软件源代码验证结果 | 第55-58页 |
结论 | 第58-59页 |
参考文献 | 第59-63页 |
攻读硕士学位期间发表学术论文情况 | 第63-64页 |
致谢 | 第64-65页 |