设计原则导向的多目标优化软件重构

来源 :南京大学 | 被引量 : 0次 | 上传用户:akhiv
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件在生命周期中经常被修改或增强以满足不同的功能需求。随着演化的推进,软件设计会变得越来越复杂,维护成本也越来越高。运用软件重构技术可以通过改变软件内部结构来修复软件设计,降低维护成本。为了对开发人员在软件重构过程中提供支持,研究人员提出了许多重构方法,但大多数都只考虑细粒度(如类级别)的重构操作。然而,对于规模较大的面向对象软件,包对系统设计起着重要的作用。它作为基本组织单元,对类进行管理以降低系统的复杂度。包的设计质量直接关系到整个软件的设计质量,仅考虑细粒度的软件重构不足以显著提高包的设计质量。因此,如果能通过重构改进包的设计质量,则可以更加有效地提高软件质量。在已有的重构方法中,基于搜索的软件重构方法近几年在研究领域引起了很大的关注,包括单目标优化软件重构方法和多目标优化软件重构方法。近期研究指出,单目标优化方法不足以权衡有冲突的质量属性(如内聚性和耦合性),而多目标优化方法能够更好地解决重构问题。然而,当前已有的多目标优化重构方法所采用的目标均没有直接对设计原则的遵循程度进行量化。直觉上,软件越遵循设计原则,其软件质量越高。若该假设成立,则直接以设计原则度量作为优化目标更有可能显著改进软件质量。更进一步,在众多面向对象设计原则中,”高内聚、低耦合”是最基本的设计原则。如何解决内聚性和耦合性之间的冲突、同时对两者进行改进,也是软件重构中常见的问题。以内聚性和耦合性相结合的度量作为优化目标,是解决两者冲突的一个尝试。根据是否考虑客户使用的耦合关系,内聚性度量可从不同角度对软件质量进行评价。而考虑耦合关系是否对内聚性度量评价软件质量的有效性有显著影响,还有待验证。若影响显著且正向,则选用考虑耦合关系的内聚性度量作为重构优化目标,可能更有利于对软件设计的优化。为解决上述问题,本文首先实证研究软件遵守设计原则的程度对软件质量的影响,然后进一步从面向对象设计原则中的高内聚低耦合设计原则出发,实证研究耦合关系对内聚性度量在评价软件质量时的影响。由于软件质量与缺陷倾向性显著相关,因此本文从缺陷倾向性的视角分析软件质量。本文首先研究设计原则度量(本文也称为模块化度量)与缺陷倾向性之间的关系,以及相应缺陷预测能力;进一步针对面向对象设计原则中的”高内聚低耦合”原则,研究内聚性度量与缺陷倾向性之间的关系是否受耦合关系影响;最后,基于前期实证研究的结论,本文从包级别的软件重构出发,提出了设计原则导向的多目标优化软件重构方法,旨在为开发者提供一个可以显著提高软件设计质量的重构方案。本文主要贡献总结如下:(1)本文研究设计原则度量(模块化度量)与软件质量的关系,分别分析设计原则度量与传统包级别度量的冗余关系、与缺陷倾向性之间的相关性,以及在面向对象系统中的缺陷预测能力。基于多个开源面向对象系统的实验结果表明:1)模块化度量可以捕获到传统包级别度量不能捕获的软件复杂性特征;2)大多数模块化度量与缺陷倾向性之间呈显著负相关;3)无论是在排序场景还是分类场景下,结合使用模块化度量和传统包级别度量,可以明显提升缺陷预测模型的预测有效性。以上实验结果验证了软件遵循设计原则利于提高软件质量并且减少缺陷。(2)本文基于是否考虑包的耦合关系,将包级别内聚性度量分为上下文内聚性度量和非上下文内聚性度量,实证研究客户使用耦合关系对包级内聚性度量评价软件质量的影响。实验结果表明:1)上下文内聚性度量和非上下文度量不冗余;2)大多数上下文内聚性度量和缺陷倾向性之间呈显著负相关;3)在交叉验证和跨版本验证设置下,无论是单独建模还是结合非上下文内聚性度量一起建模,上下文内聚性度量都能提高缺陷模型在工作量感知下的分类性能和排序性能。以上实验结果验证了客户使用耦合关系对内聚性度量评价软件质量的有效性存在显著的影响。(3)基于前期实证研究,为了提高软件遵循设计原则的程度,进而提高软件设计质量,本文提出了一个包级别的设计原则导向的多目标优化软件重构方法DP-MO-R。该方法的特点有:1)将遗传算法应用于软件重构推荐问题,将算法中的个体定义为一个重构方案;2)定义规则约束种群初始化,确保初始种群中个体中的操作可执行;3)首次使用设计原则度量作为优化目标来导向搜索。为了验证该方法的有效性,本文首先分析其是否能改进软件设计质量,然后重现了一个已有的多目标优化方法进行对比实验。实验结果表明,该方法能够显著提高软件遵循设计原则的程度,而且在对比实验中DP-MO-R在大多数质量指标上都表现出了显著的优势。本文提出的包级别重构推荐方法为避免软件设计质量随着软件演化而降低提供了有效的手段,帮助开发者实时增强软件遵循设计原则的程度,从而改进软件质量。本文的实证研究为设计原则导向的软件重构研究提供了前提保障,同时也有助于增加研究者或开发者更好地理解设计原则度量与软件质量之间关系,以及耦合关系对内聚性度量评价软件质量的影响。
其他文献
高校与政府和地方学校组成UGS联盟,是近年来师范类教育实践的机制创新。UGS平台在提升师范类实践教育的同时,也推进了地方教育事业的发展。但在UGS教育实践中,也暴露出许多问
随着我国城市化进程的加快和基础设施建设的需要,大量农村土地被征收,被征地农民数量逐年增加,这个日益庞大的群体面临严峻的养老问题。商业保险公司积极参与被征地农民养老
钢结构具有强度高、自重轻、抗震性能好、施工速度快、地基费用省、占地面积小、工业化程度高、外形美观等一系列优点,与钢筋砼结构相比它是环保型的可再次利用的材料,也是易
患者41岁,住院号78676,1992年1月7日入院。该患平素月经规律,孕2产2末次月经1991年12月3日。一周前无明显诱因出现阴道不规则流血,量不多,无血块。3天前自觉下腹部疼痛,伴下
笔者在实验复习中,把实验交还给学生,组织学生围绕“电阻测量”主题,把高考考题作为研究的问题发给学生,让学生自行进行实验方案的设计,通过对实验方案的真实的实验探究,记录、分析
某省电信出于行业竞争的压力和庞大的业务要求开始考虑使用信息技术来实现网络故障管理。构建一套电信网络设备故障管理系统是十分重要的,能够以信息化的方式提高管理水平,实
总结梳理了上海市开展合同节水管理工作的发展历程,通过实施合同节水管理为用水单位提供“交钥匙”工程,保证用水单位获得高质量的节水改造。对工作成效与应用效果进行分析,
云南养牛业历史悠久,发展肉牛业具有得天独厚的条件。虽然自80 年代以来,云南肉牛业取得了较快发展,但是云南省目前肉牛业的生产水平还十分落后,科研工作也相对滞后。为实现肉牛业
闭经为常见的妇科症状分为原发性闭经和继发性闭经。人工流产术后闭经属于继发性闭经,严重影响女性生殖健康。目前,婚前性生活以及避孕措施不当等诸多原因导致越来越多的女性
以浦梅铁路PM-5标岐山隧道爆破工程为例,对工程环境复杂的铁路隧道实施爆破。该隧道周边近距离范围内存在隧道、桥梁、锚索桩等多项重要设施,工程相关方对爆破施工提出严格的