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

基于程序切片的Java多态性研究

作 者: 时武略
导 师: 李华
学 校: 东北大学
专 业: 计算机软件与理论
关键词: 面向对象 程序切片 系统依赖图 ISDG 多态性
分类号: TP311.10
类 型: 硕士论文
年 份: 2009年
下 载: 37次
引 用: 0次
阅 读: 论文下载
 

内容摘要


程序切片是一种有效的程序分析技术,它能根据给定的切片准则从源程序中提取出所需部分进行分析,如进行程序调试、测试、程序重构分析等。程序切片技术在结构化程序中已有较广泛的应用,但对于像Java这样的面向对象语言程序,其研究与应用还存在一些待解决的问题。作为典型的面向对象编程语言,Java程序的切片技术很有代表性。Java程序中的参数传递、多态性、异常处理、多线程等问题,是当前程序切片技术研究领域的重点和难点问题。论文通过对Java语言程序特性的分析,特别是方法间依赖关系的分析,应用了一种改进后的系统依赖图(ISDG)进行Java程序多态性研究。首先针对子类和父类方法间的依赖关系对每个重写或覆盖后的方法构造局部的系统依赖图(LSDG),再针对对象间的依赖关系构造不含对象方法间依赖关系的系统依赖图(SDG)。最后针对对象方法间的依赖关系在上一步的系统依赖图中添加方法间的依赖边,得到改进后的系统依赖图(ISDG)。使用ISDG成功地解决了Java程序中多态性表示的问题。同时,本文还使用了一种Java程序的切片准则,并给出其基于ISDG的切片算法。为了使ISDG更具有普遍性和实用性,论文将ISDG扩展到了更为复杂的多态性问题,并针对在复杂的ISDG中存在着大量重复的局部ISDG这一现象,提出了解决办法:将重复调用的节点标记为重用的叶子节点。从而简化了ISDG,降低了复杂度,提高了效率。通过与采用插桩法的OODSDG进行比较,进一步论证了ISDG的特点和优势。

全文目录


中文摘要  5-6
Abstract  6-11
第1章 绪论  11-17
  1.1 选题背景和意义  11-12
  1.2 程序切片技术研究现状  12-13
  1.3 程序切片技术的应用  13-14
  1.4 论文的基本任务  14-16
  1.5 论文的主要内容  16-17
第2章 程序切片技术综述  17-25
  2.1 程序切片技术的发展历史  17-18
  2.2 程序切片的定义  18
  2.3 程序切片的分类  18-23
    2.3.1 前向切片和后向切片  18-19
    2.3.2 静态切片和动态切片  19-21
    2.3.3 过程内切片与过程间切片  21
    2.3.4 无定型切片  21
    2.3.5 准静态切片  21-22
    2.3.6 条件切片  22
    2.3.7 分解切片  22
    2.3.8 同步动态切片  22-23
  2.4 本章小结  23-25
第3章 程序切片常用准则、算法和工具  25-35
  3.1 程序切片准则  25-26
  3.2 程序切片算法  26-30
    3.2.1 基于数据流方程的切片计算方法  26
    3.2.2 基于信息流关系的算法  26-27
    3.2.3 基于依赖图的图形可达性算法  27
    3.2.4 无定型切片算法  27-28
    3.2.5 基于动态依赖图的切片算法  28
    3.2.6 基于可移动块的前向切片算法  28
    3.2.7 基于程序D/U表达式的动态切片算法  28-29
    3.2.8 基于语句波动图的算法  29
    3.2.9 其他相关的研究  29-30
  3.3 程序切片工具介绍  30-33
    3.3.1 Wisconsin  30
    3.3.2 Chopshop  30
    3.3.3 Ghinsu  30
    3.3.4 Spyder  30-31
    3.3.5 Unravel  31
    3.3.6 OST  31
    3.3.7 ConSIT  31-32
    3.3.8 PSS/Ada系统  32
    3.3.9 Menagerie  32
    3.3.10 其他PST  32-33
  3.4 本章小结  33-35
第4章 基于ISDG的Java程序切片技术  35-63
  4.1 基于SDG的切片技术  35-41
    4.1.1 基于SDG的切片技术简介  36-38
    4.1.2 传统SDG中存在的问题  38-41
  4.2 改进后的系统依赖图(ISDG)  41-46
    4.2.1 Java程序中的依赖关系分析  41
    4.2.2 构造经过改进的SDG  41-46
  4.3 基于ISDG的Java程序切片  46-48
    4.3.1 Java程序的切片准则  46-47
    4.3.2 基于ISDG的Java程序切片算法  47-48
  4.4 将ISDG扩展到更复杂的多态性问题  48-57
    4.4.1 构造局部的系统依赖图(LSDG)  50
    4.4.2 构造系统依赖图(SDG)  50-52
    4.4.3 添加方法间依赖边  52-54
    4.4.4 对繁琐的ISDG进行化简  54-56
    4.4.5 化简后的基于ISDG的Java程序切片  56-57
  4.5 ISDG与OODSDG的比较  57-62
    4.5.1 程序插桩技术  57-58
    4.5.2 静态插桩的难点  58
    4.5.3 在动态切片中的应用  58-61
    4.5.4 ISDG与OODSDG的区别  61-62
  4.6 本章小结  62-63
第5章 总结与展望  63-65
  5.1 总结  63
  5.2 展望  63-65
参考文献  65-69
致谢  69

相似论文

  1. 面向嵌入式超声检测系统的图形接口设计与应用,TP274.53
  2. 武器装备信息管理系统的设计与实现,TP311.52
  3. 缺血性脑血管病患者CYP2C19基因多态性分析,R743
  4. 猪BMP7基因启动子多态性及其与繁殖性状关联性分析,S828
  5. 猪BMP7基因外显子和内含子多态性检测及其与繁殖性状关系的研究,S828
  6. 湖羊BMP4基因克隆、表达与多态性分析,S826
  7. 面向对象分层测试的方法研究,TP311.53
  8. 基于面向对象技术的植物根系模拟仿真基础类库研究,TP391.41
  9. 铁皮石斛叶绿体微卫星的开发应用及其种间通用性研究,S567.239
  10. 鸡CFL2基因遗传变异及其效应与表达的研究,S831
  11. 水稻胁迫应答基因3’UTR模体及相关miRNA的生物信息学研究,Q943.2
  12. 基于程序切片的电子海图系统软件测试技术研究,TP311.53
  13. 军用车辆管理信息系统的设计与实现,TP311.52
  14. 抗体的非对应性激发及其与H2-Eb等位基因多态性的关联,R392
  15. 急性白血病儿童还原型叶酸载体基因多态性研究,R733.71
  16. 基于高分辨率遥感数据的矿区房屋信息提取方法研究,TP751
  17. 游戏公司计费系统的设计与实现,TP311.52
  18. 面向方面程序切片技术及其在测试数据生成中的应用,TP311.52
  19. 设计模式在银行支付系统中的应用研究,TP311.52
  20. ICE中间件技术在话务性能数据管理系统中的应用,TP311.52
  21. 面向对象软件核结构的研究与分析,TP311.52

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