学位论文 > 优秀研究生学位论文题录展示

基于多样化对象所有权的软件可信性质研究

作 者: 文家朝
导 师: 赵洋
学 校: 南京理工大学
专 业: 计算机应用技术
关键词: 可信软件 程序标注 对象所有权 控制流图 程序静态分析
分类号: TP311.52
类 型: 硕士论文
年 份: 2012年
下 载: 12次
引 用: 0次
阅 读: 论文下载
 

内容摘要


计算机软件在快速发展给人们带来方便,但同时由于软件规模日趋庞大、形态日趋复杂,而使得许多软件本身的可信性变得越来越脆弱。传统的软件工程方法已经无法满足当今社会对软件可信性的迫切需求,软件研究面临可信性的重要科学挑战。在研究可信软件的过程中,如何抽象地表述软件的各种可信性质与具体的代码相互印证成为构建可信软件的关键技术之一。研究可信软件关键技术,设计、推理和验证程序中的各种对象依赖和保护关系是本论文研究的目的。在实验方法上,从研究软件的可信性质出发,重点关注对象间的依赖和保护关系,在现有的单所有权和多所有权的基础上研究多样化对象所有权对象,将程序标注、程序静态分析和可信软件的研究相结合,理论与实践相结合。在多样化对象所有权相关的研究中,第一:设计研究所需的程序标注,并人为地在面向对象程序中嵌入这些体现各种对象所有权设计意图的程序标注,要求程序可以自动获得源代码中的程序标注对一段给定的源代码;第二,对给定的java程序代码,程序可以自动显式地生成与之对应的控制流图;第三:检查程序中添加了程序标注的代码,并对违反标注定义的程序代码给出警告。

全文目录


摘要  3-4
Abstract  4-5
目录  5-8
1 绪论  8-11
  1.1 研究背景及意义  8
  1.2 国内外研究现状  8-9
    1.2.1 国外研究现状  8-9
    1.2.2 国内研究现状  9
  1.3 论文的工作及组织结构  9-11
    1.3.1 论文的主要工作  9-10
    1.3.2 论文的组织结构  10-11
2 相关理论知识介绍  11-22
  2.1 对象所有权  11-12
    2.1.1 单所有权  11-12
    2.1.2 多所有权  12
  2.2 程序标注  12-16
    2.2.1 系统自带的标注  13-14
    2.2.2 自定义程序标注  14-15
    2.2.3 处理程序标注  15-16
  2.3 AST相关知识  16-18
    2.3.1 语法树  16-17
    2.3.2 Eclipse AST简介  17-18
    2.3.3 AST类  18
    2.3.4 ASTNode类及其子类  18
    2.3.5 ASTVisitor类  18
  2.4 访问者模式  18-21
    2.4.1 访问者模式的概念  19
    2.4.2 访问者模式的动机  19-20
    2.4.3 访问者模式的结构  20
    2.4.4 访问者模式的参与者  20-21
  2.5 相关软件介绍  21-22
    2.5.1 Graphviz  21
    2.5.2 Crystal  21-22
3 相关的研究方法与技术  22-35
  3.1 程序分析技术  22-30
    3.1.1 控制流分析  22-28
    3.1.2 信息流分析  28-30
  3.2 对象所有权研究方法  30-35
    3.2.1 子对象完全容纳  31
    3.2.2 子对象状态的垂直拆分  31-33
    3.2.3 子对象状态的水平拆分  33-35
4 体现对象所有权有关的设计  35-56
  4.1 生成源代码对应的抽象语法树  36-39
    4.1.1 问题的引出  36-37
    4.1.2 代码解析  37-38
    4.1.3 构建AST  38-39
  4.2 设计生成程序的控制流图  39-49
    4.2.1 表达式  40-44
    4.2.2 语句  44-49
  4.3 使用数据流代码分析  49-52
    4.3.1 安装Crystal  49
    4.3.2 创建Eclipse插件项目  49-50
    4.3.3 创建分析所需类  50-51
    4.3.4 设定扩展点  51-52
    4.3.5 运行Crystal插件  52
  4.4 设计程序标注与代码匹配  52-56
    4.4.1 read-only标注  52-53
    4.4.2 write标注  53
    4.4.3 GuardedBy标注  53-54
    4.4.4 owner标注  54-56
5 体现对象所有权有关的测试与分析  56-65
  5.1 程序控制流图测试与分析  56-60
    5.1.1 if语句测试  56-57
    5.1.2 switch语句测试  57-58
    5.1.3 for语句测试  58
    5.1.4 while语句测试  58-59
    5.1.5 do-while语句测试  59-60
    5.1.6 多种语句混合测试  60
  5.2 程序标注测试与分析  60-65
    5.2.1 read-only和write标注测试  60-62
    5.2.2 GuardedBy标注测试  62-63
    5.2.3 owner标注测试  63-65
6 总结与展望  65-66
致谢  66-67
参考文献  67-71
附录  71

相似论文

  1. C++静态代码检测语法树构建方法研究,TP311.53
  2. 基于反编译的恶意代码检测关键技术研究与实现,TP309
  3. 基于模型检测方法的可信软件验证技术研究,TP311.52
  4. 基于缺陷分析与测试评审的软件可信性评价体系,TP311.52
  5. 基于形式化方法的统一软件模型及其应用,TP311.52
  6. 可信计算平台动态测试系统的设计与实现,TP311.53
  7. Java数组越界检测系统的设计与实现,TP311.5
  8. 出具证明编译器中证明生成的研究,TP314
  9. Isabelle定理证明器的剖析及其在PAR方法/PAR平台中的应用,TP311.11
  10. 基于GCC抽象语法树文本的C源程序语义分析方法研究,TP311.11
  11. 基于CMMI的可信软件风险管理研究,TP311.52
  12. 基于CFG多态蠕虫特征自动提取模型研究,TP393.08
  13. 考虑指针别名的静态分析技术研究,TP311.11
  14. 一类范围约束的浮点数静态分析方法,TP311.1
  15. 可信软件实时性测试用例构造方法研究,TP311.52
  16. 可信终端接入认证技术研究,TP393.08
  17. 基于复杂网络的可信软件研究,TP311.53
  18. 基于正负关联规则的软件缺陷分析研究,TP311.52
  19. 基于嵌入式软件的覆盖测试技术研究,TP311.52
  20. 基于本体和规则推理的软件可信演化研究,TP311.52

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程 > 软件开发
© 2012 www.xueweilunwen.com