首页> 中文学位 >使用逃逸分析和依赖性分析识别设计模式的行为特征
【6h】

使用逃逸分析和依赖性分析识别设计模式的行为特征

代理获取

目录

声明

摘要

第一章 前言

1.1 选题依据

1.2 设计模式识别领域的研究现状及存在的问题

1.2.1 研究现状

1.2.2 存在的问题

1.3 主要研究内容

1.3.1 创建对象行为的识别

1.3.2 委托行为的依赖性特征描述和识别

1.3.3 备忘录生成行为的依赖性特征描述和识别

1.3.4 Observer模式中数据观察行为的依赖性特征描述和识别

1.3.5 设计模式识别标准

1.3.6 设计模式自动识别工具JDP-Detector

1.4 论文结构

第二章 逃逸分析和依赖性分析简介

2.1 Soot简介

2.2 控制流分析和到达定值数据流分析

2.3 流敏感的指向分析

2.4 逃逸分析

2.5 依赖图和依赖性分析

2.5.1 程序依赖图

2.5.2 系统依赖图

2.6 本章小结

第三章 识别设计模式的行为特征

3.1 创建对象行为的识别

3.1.1 创建对象行为的定义

3.1.2 创建对象行为的识别算法

3.1.3 实例分析

3.2 方法间委托行为的识别

3.2.1 委托行为的定义

3.2.2 委托行为的识别算法

3.2.3 实例分析

3.3 Memento模式中的备忘录生成行为的识别

3.3.1 备忘录生成行为的依赖性特征

3.3.2 备忘录生成行为的识别算法

3.3.3 一个记录状态增量的备忘录模式实例分析

3.3.4 一个记录状态历史的备忘录模式实例分析

3.4 Observer模式中数据观察行为的识别

3.4.1 数据观察行为的依赖性特征

3.4.2 数据观察行为的识别算法

3.4.3 一个拉模型的观察者模式实例分析

3.4.4 一个推模型的观察者模式实例分析

3.5 本章小结

第四章 设计模式的识别标准及工具

4.1 设计模式的识别标准

4.1.1 识别范围

4.1.2 两个准则:肯定性准则和否定性准则

4.1.3 两个特征:结构特征和行为特征

4.1.4 两个条件:必要条件和典型条件

4.2 设计模式的XML表示

4.2.1 角色类标签

4.2.2 必要条件和典型条件

4.3 设计模式自动化识别工具——JDP-Detector

4.3.1 系统架构

4.3.2 识别过程

4.3.3 可视化界面

4.3.4 与DP-Miner的比较

4.4 本章小结

第五章 实验

5.1 实验环境

5.2 实验选择的设计模式

5.3 实验结果分析

5.4 相关实验结果比较

5.4.1 与DP-Miner的识别结果比较

5.4.2 与DPD的识别结果比较

5.5 本章小结

第六章 总结与展望

6.1 本文工作总结

6.1 未来工作展望

致谢

参考文献

附录 条件标签

展开▼

摘要

设计模式是面向对象软件设计中针对典型问题的典型解决方案,被广泛应用于软件系统中。从代码中识别设计模式实例有助于对软件的理解和再工程。目前,设计模式结构特征的识别研究得比较充分,但对于设计模式的行为特征,现有研究仅仅依据方法级的行为信息,即通过方法间的调用关系、调用顺序以及执行顺序等信息进行描述和识别,没有分析语句级的行为信息,即没有具体分析每条语句的具体行为,比较粗略。
   本文引入静态程序分析技术从具体的语句、变量层面描述和识别设计模式的行为特征,提出了基于逃逸分析描述和识别对象创建行为中的对象创建效果的方法,基于依赖性分析描述和识别委托行为、备忘录模式中备忘录生成行为以及观察者模式中的数据观察行为的依赖性特征的方法。针对开源代码中的实例分析表明,上述方法能够描述和识别现有研究无法识别的更多、更复杂的行为特征,提高识别的准确和细致程度。
   设计模式识别研究领域至今没有统一的识别标准。本文在综合考虑现有识别标准的基础上,提出了一个多层次多角度的识别标准。根据此识别标准,我们在开源工具Soot的基础上结合现有研究中的矩阵匹配结构分析法和本文提出的行为特征识别法,开发了自动化的设计模式识别工具JDP-Detector。针对开源软件的实验表明,JDP-Detector具有较高的识别效率和准确率,能够识别更多细粒度的模式成份,并能更好地区分结构相似的模式。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号