基于多样化对象所有权的软件可信性质研究
摘要 | 第1-4页 |
Abstract | 第4-5页 |
目录 | 第5-8页 |
1 绪论 | 第8-11页 |
·研究背景及意义 | 第8页 |
·国内外研究现状 | 第8-9页 |
·国外研究现状 | 第8-9页 |
·国内研究现状 | 第9页 |
·论文的工作及组织结构 | 第9-11页 |
·论文的主要工作 | 第9-10页 |
·论文的组织结构 | 第10-11页 |
2 相关理论知识介绍 | 第11-22页 |
·对象所有权 | 第11-12页 |
·单所有权 | 第11-12页 |
·多所有权 | 第12页 |
·程序标注 | 第12-16页 |
·系统自带的标注 | 第13-14页 |
·自定义程序标注 | 第14-15页 |
·处理程序标注 | 第15-16页 |
·AST相关知识 | 第16-18页 |
·语法树 | 第16-17页 |
·Eclipse AST简介 | 第17-18页 |
·AST类 | 第18页 |
·ASTNode类及其子类 | 第18页 |
·ASTVisitor类 | 第18页 |
·访问者模式 | 第18-21页 |
·访问者模式的概念 | 第19页 |
·访问者模式的动机 | 第19-20页 |
·访问者模式的结构 | 第20页 |
·访问者模式的参与者 | 第20-21页 |
·相关软件介绍 | 第21-22页 |
·Graphviz | 第21页 |
·Crystal | 第21-22页 |
3 相关的研究方法与技术 | 第22-35页 |
·程序分析技术 | 第22-30页 |
·控制流分析 | 第22-28页 |
·信息流分析 | 第28-30页 |
·对象所有权研究方法 | 第30-35页 |
·子对象完全容纳 | 第31页 |
·子对象状态的垂直拆分 | 第31-33页 |
·子对象状态的水平拆分 | 第33-35页 |
4 体现对象所有权有关的设计 | 第35-56页 |
·生成源代码对应的抽象语法树 | 第36-39页 |
·问题的引出 | 第36-37页 |
·代码解析 | 第37-38页 |
·构建AST | 第38-39页 |
·设计生成程序的控制流图 | 第39-49页 |
·表达式 | 第40-44页 |
·语句 | 第44-49页 |
·使用数据流代码分析 | 第49-52页 |
·安装Crystal | 第49页 |
·创建Eclipse插件项目 | 第49-50页 |
·创建分析所需类 | 第50-51页 |
·设定扩展点 | 第51-52页 |
·运行Crystal插件 | 第52页 |
·设计程序标注与代码匹配 | 第52-56页 |
·read-only标注 | 第52-53页 |
·write标注 | 第53页 |
·GuardedBy标注 | 第53-54页 |
·owner标注 | 第54-56页 |
5 体现对象所有权有关的测试与分析 | 第56-65页 |
·程序控制流图测试与分析 | 第56-60页 |
·if语句测试 | 第56-57页 |
·switch语句测试 | 第57-58页 |
·for语句测试 | 第58页 |
·while语句测试 | 第58-59页 |
·do-while语句测试 | 第59-60页 |
·多种语句混合测试 | 第60页 |
·程序标注测试与分析 | 第60-65页 |
·read-only和write标注测试 | 第60-62页 |
·GuardedBy标注测试 | 第62-63页 |
·owner标注测试 | 第63-65页 |
6 总结与展望 | 第65-66页 |
致谢 | 第66-67页 |
参考文献 | 第67-71页 |
附录 | 第71页 |