基于类型分析提取设计模式实例中的语义信息

来源 :东南大学 | 被引量 : 0次 | 上传用户:lihai_feng
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
设计模式是软件设计中典型问题的经典解决方式,但是其具体实现方式丰富多样。从源程序中识别出设计模式的实例,并提取出其语法和语义方面的详细信息,将对软件的理解和维护有很大的帮助。   目前在基于语法分析提取设计模式结构特征方面已经有了很多研究,而通过语义分析提取设计模式行为特征的研究还很少。这具体表现为两个方面:(1)对设计模式中行为的语义特征缺乏明确、具体、可识别的描述;(2)仅有少量的研究通过方法调用关系及调用顺序描述设计模式的行为语义,缺少在语句级描述和提取设计模式行为特征的研究。这导致设计模式识别结果不够精确,也不够精细。   本文以状态和策略模式为例,采用语句级的数据流分析技术,通过分析源代码中变量类型的变化,提取出状态(策略)模式的状态(策略)转换过程,为分析、区分这两个模式提供参考。具体的工作分为以下几个方面:   (1)设计一个提取设计模式的候选集的语法分析器,用以获取实验对象,该分析器基于两种的模式的结构特征提取公共的候选集;   (2)在开源工具soot的基础上设计并实现了一个流敏感、上下文敏感的类型分析系统;   (3)利用类型分析得到的结果,设计并实现了一个状态转换图提取工具,协助区分状态模式利策略模式;   (4)在若干开源代码中进行实验,并给出对实验结果的分析。  
其他文献
互联网的出现给人们带来了极大的便利,随着网络的高速发展,互联网已经逐渐开始取代传统的电视和电话业务,成为了主要的交流沟通工具和信息获取渠道。近年来,伴随着网络技术的
时间是信息空间中很重要的一个维度。大部分的网页中均包含时态信息,许多Web查询也包含时态查询信息。这些时态信息在Web信息检索和网页聚类中具有很重要的作用。将时态信息
数据挖掘技术能发现数据之间的潜在关系,从而提供决策支持,因此是数据库研究中极具应用前景的领域。关联规则是数据挖掘的重要工具之一,序列模式挖掘是对关联规则的进一步推广。
随着SOA的发展应用,网络上有越来越多的跨平台甚至跨语言的服务,当用户提出服务请求后,如何根据请求快速自动发现分布在Web上的相关服务,这就是研究的动机所在。   现有的服务
随着网络普及与发展,数字产品的共享变得越来越容易和频繁,多媒体作品的版权保护问题已经迫在眉睫,数字水印技术作为数字产品版权保护的主要手段,对其进行研究的必要性也越来
互联网的飞速发展在方便社会的同时,也带来了一系列的网络隐患。针对软件系统稳定性和安全性的问题,本文基于软件网络系统节点之间的调用关系、调用顺序以及内在的调用次数,
0-1背包问题是一种经典的NP难问题,目前还无法找到线性时间内求解该问题的算法,由于求解0-1背包问题在优化组合、资本预算、货物装载、削减库存以及信息密码学等领域具有极为重
目标跟踪是计算机视觉研究中的一个重要课题,它是目标行为理解的基础,是图像系统连续准确工作的重要部分。跟踪算法要求准确性和鲁棒性,在很多应用下还要求实时性,而现实中目
随着经济的快速发展和人们生活水平的不断提高,我国机动车的数量也在急速增多,机动车在给人们生活带来便利的同时,其造成的道路交通问题也日趋严重。因此,对于道路交通的管理急需
本文针对机器学习在视频水印中的应用进行了研究,主要是支持向量机与集成学习在其中的应用,首先通过对视频水印常遭受的攻击进行分类,然后根据每一类给出了应有的防范方法,重