摘要 | 第5-6页 |
ABSTRACT | 第6页 |
符号对照表 | 第9-10页 |
缩略语对照表 | 第10-14页 |
第一章 绪论 | 第14-22页 |
1.1 研究背景 | 第14页 |
1.2 研究现状 | 第14-18页 |
1.2.1 基于内存错误的故障预警方法 | 第15-16页 |
1.2.2 基于程序控制流的故障预警方法 | 第16-17页 |
1.2.3 基于有限状态机的故障预警方法 | 第17-18页 |
1.2.4 基于抽象解释理论的故障预警方法 | 第18页 |
1.3 研究内容与意义 | 第18-19页 |
1.4 论文结构 | 第19-22页 |
第二章 故障预警技术简介 | 第22-30页 |
2.1 软件故障预警方法介绍 | 第22-23页 |
2.2 主要基础技术 | 第23-25页 |
2.2.1 基于程序合约的故障预警技术 | 第23-24页 |
2.2.2 基于程序数据流的故障预警技术 | 第24-25页 |
2.3 常见的故障预警方法对比 | 第25-27页 |
2.3.1 故障预警方法对比 | 第25-27页 |
2.3.2 两种方法结合的原因 | 第27页 |
2.4 其他相关技术介绍 | 第27-28页 |
2.5 本章小结 | 第28-30页 |
第三章 研究基础 | 第30-42页 |
3.1 系统总体分析 | 第30-32页 |
3.2 系统架构 | 第32-33页 |
3.3 技术选择 | 第33-40页 |
3.3.1 Eclipse插件开发技术 | 第33-35页 |
3.3.2 XML存储与DOM4J解析技术 | 第35-37页 |
3.3.3 Eclipse AST静态分析代码技术 | 第37页 |
3.3.4 Java注解技术 | 第37-39页 |
3.3.5 基于源代码的插桩技术 | 第39-40页 |
3.4 本章小结 | 第40-42页 |
第四章 基于程序合约和数据流相结合的故障预警技术 | 第42-54页 |
4.1 故障预警的输入模型 | 第42-43页 |
4.1.1 软件源代码 | 第42页 |
4.1.2 源代码提取的信息集合 | 第42-43页 |
4.1.3 历史测试用例集 | 第43页 |
4.2 基于程序合约的故障预警方法 | 第43-47页 |
4.2.1 程序合约和插桩位置分析 | 第43-45页 |
4.2.2 程序合约转换为注解 | 第45-46页 |
4.2.3 由注解生成可验证代码 | 第46页 |
4.2.4 改进合约来源 | 第46-47页 |
4.3 基于程序数据流的故障预警方法 | 第47-51页 |
4.3.1 标识跟踪变量信息 | 第48-49页 |
4.3.2 插桩位置分析 | 第49-50页 |
4.3.3 动态数据流分析过程 | 第50-51页 |
4.4 两种方法的改进和融合 | 第51-52页 |
4.5 本章小结 | 第52-54页 |
第五章 测试与评估 | 第54-62页 |
5.1 测试和分析介绍 | 第54-55页 |
5.2 基于程序合约的故障预警测试 | 第55-58页 |
5.2.1 被测系统简介 | 第55-56页 |
5.2.2 测试过程 | 第56-58页 |
5.2.3 测试结果 | 第58页 |
5.3 基于程序数据流的故障预警测试 | 第58-61页 |
5.3.1 被测系统简介 | 第58-59页 |
5.3.2 测试过程 | 第59-60页 |
5.3.3 测试结果 | 第60-61页 |
5.4 本章小结 | 第61-62页 |
第六章 总结与展望 | 第62-64页 |
6.1 总结 | 第62-63页 |
6.2 展望 | 第63-64页 |
参考文献 | 第64-68页 |
致谢 | 第68-70页 |
作者简介 | 第70-71页 |