多层次变更检测技术及其在架构持续演进中的应用

来源 :东南大学 | 被引量 : 2次 | 上传用户:kokwok
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件演化是指在软件系统的生命周期内软件维护的行为和过程。随着软件的演化,软件的架构和代码会产生相应的变更,获取软件演化过程中的变更信息对软件演化研究具有重要意义。软件变更检测是指从软件系统的两个版本中挖掘符合软件开发人员演化意图的软件变更信息的过程。基于树匹配的变更检测方法将源程序转换为树形数据结构,利用结点的匹配信息计算树编辑操作,进而转换为程序的变更操作。但传统的基于树匹配的变更检测方法仅限于分析源代码的变更情况,并且分析效率低,难以将其应用于大规模项目分析。另外,软件变更是软件演化过程的直接产物,是其它软件演化研究的基础[22]。因此,将变更检测应用于其它软件演化研究过程非常重要。为了获取软件演化过程中的多层次变更信息,本文提出一种基于程序分析树的多层次变更检测方法。与传统的基于抽象语法树的变更检测方法不同,该方法将具有多层次特性的程序分析树作为程序的树表示形式,能够获取项目的不同抽象层次的变更信息;本文提出了两步树结点匹配算法,即首先进行自上而下的快速匹配,然后进行自下而上的局部匹配,显著提升了树结点匹配效率以及降低误匹配发生的概率;本文提出的变更聚合的思想把许多零散的变更操作聚合为更加符合开发者演化意图的变更操作,确保检测出的变更操作具有更好的易理解性。另外,本文将多层次变更检测技术应用于架构演进缺陷分析过程中,提出了基于变更检测的架构演进缺陷分析方法,即利用架构与代码的变更信息和指标差异信息来计算架构缺陷贡献度,进而准确定位引起架构缺陷的变更操作。实验结果表明,本文的基于程序分析树的多层次变更检测方法能够检测不同抽象层次的变更信息,并且在变更检测查全率和分析效率方面都优于传统的基于AST的变更检测方法;同时,本文提出的基于变更检测的软件架构演进缺陷分析方法能够准确定位引起架构缺陷的变更操作,为开发人员和维护人员重构架构和代码提供帮助。
其他文献
随着高清视频技术的发展,各类高清视频设备极大的丰富,包括高清电视、高清播放机、高清机顶盒等,并得到了极大地普及。高清视频分量信号是高清视频传输、采集和显示的信号形
本文采用实验测试及数值计算的方法,进行了热负荷加载方式、长高比、材料比例不同时两层多孔介质内热流耦合对流传热解的特性研究。根据实验值及数值解,提出了利于强化和削弱
投资活动直接创造企业的现金流,投资成效的高低与否,一直是人们关注的重点。从企业方面来说,投资关乎着一个企业的未来走向,进而影响企业生死存亡。而从国家层面来说,企业经营不善,对于国家来说也是莫大的损失。所以无论从小的方面还是大的方面,投资都是值得学者关注和研究的。如果说非效率投资的高低是研究的重点,那么做出投资决定的高管们就是研究的重中之重。所以本文从高管特征与非效率投资入手,并根据我国的国情,将企
在全球汉语热的驱动下,泰国的汉语教学也得到了前所未有的发展。相应的,学者们对泰国汉语教学的研究也是越来越多,然而,大部分学者的关注点都只是在汉语语音、语法、词汇、口
公共卫生是“健康梦”的题中之义,是同心共筑中国梦的重要组成部分,有利于促进广大人民群众健康,有利于全面建成小康社会,公共卫生事业的发展改革及其问题与措施,备受全社会
随着移动通信市场规模的不断壮大,通信技术也得到了前所未有的快速发展,移动通信网络的日常优化势在必行。通常,通信设备在正式交维后会面临无线环境、站点搬迁、用户行为、
人类历史上最大规模的城市化运动和消费升级浪潮决定了中国房地产未来几十年无限广阔的发展前景,房地产行业超额利润的广泛存在赋予房地产企业巨大的发展空间。但是,机会的背
目的:探讨宜昌市中心人民医院急诊与危重症医学科使用“白+黑方案”治疗口服百草枯中毒的疗效。方法:采用回顾性研究收集2013年01月01日-2018年12月31日期间本院急诊与危重症医学科收治的口服百草枯中毒患者的病例资料,根据纳入标准和排除标准确定研究对象,按是否应用“白+黑方案”分为治疗组和对照组,比较患者一般情况;入院第1天、第3天、第7天、第14天、第21天肝肾功能、炎性指标、氧合指数、死亡
高海拔寒区隧道排水结构设置困难且局限性较大,隧道防排水结构和保温措施的设置仍是目前被关注的焦点问题。随着研究的不断进步,新材料的应用和新结构的研究将是排水保温设计的重点发展方向。本文针对高海拔寒区隧道仰拱保温材料和结构形式进行研究,从新材料、新工艺的角度出发,进行了仰拱充填泡沫混凝土的可行性分析,研制了高性能泡沫混凝土,提出了采用新材料的寒区隧道仰拱保温结构和保温布设方案。结合寒区隧道仰拱填充施工
新一代移动通信技术不仅要满足用户对移动通信技术的超高数据传输速率的需求,而且要追求技术实现的绿色低碳能耗。MIMO(Multiple-input Multiple-output)技术凭借其多天线技