方面挖掘算法及其在程序理解中的应用研究

来源 :浙江工业大学 | 被引量 : 0次 | 上传用户:maoduoli
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件维护活动是软件生命周期中时间跨度最长的一个阶段,在软件开发过程中变得越来越重要。其中,维护工作的效率很大程度上依赖于技术人员对软件的理解。程序理解技术是通过计算机自动实现对软件系统的辅助理解,在软件逆工程、软件分析等多方面得到了广泛应用。程序理解技术的主要过程包括:对软件系统的程序信息进行抽取、建立理解模型,最终组织成符合人们理解习惯的形式展现出来。程序设计中的关注点是指软件工程中有实现意义的、可描述的、可管理的软件组成部分,也即是说它们是软件系统中各种功能实现的最小组成部分。由于传统的软件设计方法本身的缺陷,导致遗产系统中的非核心关注点出现横切现象,并进一步导致系统代码的交织和散布,使得系统的模块化程度和可理解性降低,维护难度增大。面向方面的软件设计方法是在面向对象设计的基础上提出的基于方面的开发概念。它通过对系统中的横切关注点进行识别和挖掘,将相关横切代码重构成一种新的代码结构——方面。方面挖掘是其中的重点工作,主要过程是分析、计算和挖掘系统中的横切关注点,建立起候选的方面,为后续的方面重构的工作打下基础。面向方面程序设计方法已经得到了广泛应用,而在对传统的程序理解辅助工具进行分析后,我们发现这些工具对面向方面程序设计的支持不够。因此,本文提出了将方面挖掘作为程序理解中信息抽取的一部分应用在程序理解工作中,并对方面挖掘算法进行了改善。本文的主要工作如下:(1)研究了传统的方面挖掘算法,对它们进行分析和比较,提出了一种改进的方面挖掘算法——结合Fan-in分析和克隆探测的方面挖掘算法。其中,克隆探测算法是在传统的PDG算法上进行了改进。并以实例验证的方式证明了其在挖掘时间和挖掘结果上相比传统的算法有了一定的提高。(2)设计开发了一个面向方面的程序理解信息抽取系统。首先,本文在综合认知理论的研究基础上提出了系统的功能需求。除了进行传统的程序静态分析以外,方面挖掘作为信息抽取的一部分,其结果也在这个系统中以图形化的方式展现给用户。对此系统进行了性能上的分析也证明了本文设计的系统相比传统的程序理解工具在面向方面层次有了优化。
其他文献
一个设计良好的XML模式是XML应用的前提,因此XML的设计和规范化研究至关重要。目前没有专门针对XML的建模工具,借用面向对象的建模工具UML或关系数据库的建模工具E-R模型设计
面向服务体系结构(Service-Oriented Architecture,SOA)的核心理念是业务驱动,采用松耦合的、灵活的体系结构来满足随需应变的业务需求,支持动态的企业应用集成(Enterprise Appl
网格是将地理上分布、异构的各种资源通过互联网连接并集成起来,形成一个对用户相对透明的虚拟高性能计算环境,以实现资源的全面共享,巨大的应用前景使其成为了近年来的研究热点
学位
随着21世纪知识经济的到来,企业信息化管理面临着更严峻的挑战,企业系统的复杂性和多样性,必须综合、集成各种管理思想、理论和方法,建立企业集成信息模型,并整体地应用于企
本课题在单片机中实现了滤除心电信号中50Hz工频干扰的功能,该功能模块是心电设备的主要功能模块。它为后端进行心电信号的特征提取和分析提供准确的数据和“干净”的波形,帮
Web服务作为一种新兴的分布式计算模型,具有开放性、平台独立性、松耦合性和可复用性等优点,已经在企业应用集成等领域扮演着越来越重要的角色。然而,单一的Web服务已经不能
时域有限差分(Finite Difference Time Domain, FDTD)法是求解电磁学麦克斯韦方程组的重要方法之一,一直以来获得了广泛的使用。时域有限差分法直接将含时间变量的麦克斯韦微
日益增多的多媒体应用产生的海量数字图像对存储和传输都产生了巨大的压力,因此,对高效的数字图像压缩编码技术的研究具有重要意义。原始图像数据中存在着各种冗余,图像压缩
学位
随着Internet的高速发展,网络设备的种类、数量在不断增加,如今的计算机网规模、结构及功能日渐庞杂,已经遍及政治、经济、军事、科技、生活等人类活动的一切领域,并正在对社
语义信息流方法是对高安全操作系统进行隐蔽通道分析的一个重要方法,该方法应用广泛,工程上隐蔽通道搜索大多采用该方法或者它的衍生方法。虽然该方法有着广泛的应用,但是该
学位