基于快速搜索序列和行为模板的结构型设计模式挖掘

来源 :杭州电子科技大学 | 被引量 : 0次 | 上传用户:Zerolzx
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
设计模式被广泛用于解决软件设计和开发过程中反复出现的设计问题。设计模式在软件源码中的使用信息(即设计模式实例)能够在较大程度上反映软件系统的设计思路。准确地从软件源码中识别和挖掘设计模式实例能够帮助软件开发和维护人员快速理解软件系统的原始设计和实现,从而对软件系统的维护、升级更新和二次开发等工作提供方便。近些年来软件工程领域提出了多种自动化或半自动化地挖掘设计模式实例的方法。其中部分方法将设计模式和软件源码转化为某种特定的图的形式,然后通过挖掘同构子图的方式挖掘设计模式实例。然而,由于同构子图挖掘问题是一个NP完全问题,这些方法的执行效率通常较低。为了有效解决基于子图同构的设计模式挖掘方法的效率低下问题,本文提出了一种高效的基于快速搜索序列和行为模板的结构型设计模式挖掘方法。该方法首先将设计模式和软件源码转化为一种带权有向图,即类关系图,然后从软件源码的类关系图中找出所有与设计模式的类关系图相同构的子图,每个子图的顶点所表示的类组成了一个候选设计模式实例。在挖掘过程中,本文方法为每种设计模式构建了一个快速搜索序列,该快速搜索序列描述了设计模式的结构信息并指定了一个高效的搜索设计模式角色的次序,从而大大减少了挖掘过程的搜索空间。此外,本文为每种设计模式制定了一个特定的行为模板,用于过滤候选实例集合中不满足行为特征的错误实例,进一步提高了本文方法的准确率。最后,本文选取4个常用的开源软件系统进行验证实验。实验结果表明,针对本文制定的结果基准,该方法不仅能够达到100%的召回率和相对较高的准确率和F-measure值,而且显著提高了执行效率。
其他文献
军用移动自组网络是打赢未来高技术局部战争的需要,是建立数字化部队的前提,对我军的军事变革有着不可或缺的意义。但是目前对军用自组网络的研究都是围绕如何在一个完全连接
随着Internet的发展,网络蠕虫对计算机系统安全和网络安全的威胁日益增加,它会扫描和攻击网络上存在系统漏洞的节点主机,通过国际互联网从一个自治域传播到另一个自治域,发生
2000年,香港中文大学的Ahlswede R等开创性的提出了网络编码的概念,改变了网络结点传统的处理方式。网络编码技术允许中继结点在转发消息前对接收的消息进行编码。研究表明,
随着计算机网络技术的迅猛发展与广泛应用,特别是Internet应用的普及,计算机网络已经渗透到社会生活的方方面面,正在改变着人们的生产方式和生活方式。作为城市重点服务行业
随着中国铁路的飞速发展,客运专线和高速铁路相继开始建设,这使铁路信号传输量大大增加,对计算机联锁系统的安全性、可靠性提出了更高的要求。为保证计算的安全性和可靠性,国
句法分析是自然语言处理中的关键性问题之一,它主要研究词和短语如何形成正确的句子,词和短语在句子结构中起什么作用以及它们之间的关系等。句法分析研究领域一直是以短语结
随着计算机技术的发展,传统产业与计算机技术的有机结合,使传统产业技术升级的步伐大大加快。油田勘探开采领域中计算机图形图像及可视化技术的应用,提升了录井导向技术水平,提高
传统软件测试通常是设计合适的测试用例,检测软件是否能够输出预期结果,是对错误表象的检测;而基于故障模型的软件故障检测是根据错误的本质进行检测,其优点是可以根据建立的
SOA即面向服务的架构,其基本思想是以服务为核心,将企业的IT资源整合成可操作的、基于标准的服务,使其能够被重新组合和应用。SOA是衔接业务需求和技术实现的桥梁。它具有松
曲线的重合检测及多项式的求根问题是计算机辅助几何设计(CAGD)与计算机图形学(CG)领域中的两个基本问题,有着许多应用,如碰撞检测,曲线曲面求交运算、中轴线计算及点投影等