【摘 要】
:
在现代软件系统的生命周期内,缺陷修复、功能增强、性能改进、需求增加,以及运行环境的改变等均要求软件系统具有较强的演化能力,否则软件将会不断地腐化,越来越难以修改,进而维护费用也会越来越高。为了提高软件演化的可信性和降低软件演化的成本,许多应用场景需要对软件的演化行为和演化效果实施定性或定量的评估,例如,代码不一致性修改,代码重构收益等。近年来,开源软件的数据获取更加
论文部分内容阅读
在现代软件系统的生命周期内,缺陷修复、功能增强、性能改进、需求增加,以及运行环境的改变等均要求软件系统具有较强的演化能力,否则软件将会不断地腐化,越来越难以修改,进而维护费用也会越来越高。为了提高软件演化的可信性和降低软件演化的成本,许多应用场景需要对软件的演化行为和演化效果实施定性或定量的评估,例如,代码不一致性修改,代码重构收益等。近年来,开源软件的数据获取更加便捷,吸引了越来越多的学者利用软件仓库挖掘技术研究开源软件的演化,研究的主题包括代码复杂度的演化、代码变更模式的挖掘、软件演化预测,以及代码可演进性分析等。然而,现有的软件演化评估还存在如下两个突出问题:(1)演化评估中的变更信息多数从版本控制系统中直接获取,变更粒度为文件级别或代码行级别,这种变更忽略了代码语法结构的变化,且含有较多的噪音,而代码的结构变更信息对于准确地理解代码演化的本质至关重要;(2)演化评估的结果在实践指导方面与软件开发活动的衔接不够紧密。为了解决上述问题,本文从代码层面上选取了圈复杂度、易替换性,以及结构变更倾向性3个常用的软件质量特性,对它们进行演化评估。本文的研究一方面从代码结构变更的角度加深了人们对软件静态演化规律的认识,另一方面,希望提出的演化评估技术和支撑工具能进一步地提高软件的可演进性,降低软件演化的成本。本文的主要内容与贡献如下:(1)在代码圈复杂度演化分析和评估方面,本文首先根据扩展控制流图给出了方法、类以及系统层的圈复杂度计算公式,并将方法和类的圈复杂度分别划分成“低”,“中等”,以及“高”三个等级。然后,基于代码结构变更信息和Markov模型,分别对方法、类以及整个系统的圈复杂度演化特征进行分析。实验结果表明:(a)方法和类在最终版本中呈现的圈复杂度等级,在大多数情况下,并不是通过不断修改逐渐形成的,而是在创建之初即已呈现其复杂性特征;(b)方法或类被修改的次数越多,通常其圈复杂度升高的概率越大;(c)从影响系统复杂度升高的因素上看,「圈复杂度升高的类」和「新增的类」对系统复杂度升高的贡献度大体相当;(d)方法和类的不同等级的圈复杂度分布在版本间的变化特征既存在差异性,也存在共性。(2)在代码易替换性演化评估方面,本文首先从耦合性和复杂性两个维度刻画了类和包的易替换性,然后在多个开源软件上分别分析了不同构造型类/包的易替换性差异;剖析了「移除类」与「新增类」的易替换性演化特征;以及验证了易替换性演化评估工具JREE的有效性。实验结果表明:(a)不同构造型类的易替换性差异较大,差异程度主要与该类承担交互职责的多寡有关;(b)在软件演化的过程中,「移除类」和「新增类」的易替换性显著地高于同包中的其它类;(c)按功能特性划分的包比按逻辑层次划分的包具有更高的易替换性;(d)支撑工具JREE可以有效地辅助开发人员识别引起类和包易替换性变化的演化操作。(3)在代码结构变更倾向性预测与评估方面,本文在考虑类规模的潜在混淆效应和不同变更传播风险的情况下,首次全面分析了13种代码坏味对结构变更倾向性的影响。然后,结合代码的结构变更信息和代码坏味的演化历史信息定义了5种坏味演化度量,并根据这些坏味演化度量构建了工作量感知的变更预测模型(简称“S”模型),同时对该模型的排序和分类性能进行了评估。实验结果发现:(a)中等规模和大规模的类感染代码坏味后更容易发生结构变更;(b)含有坏味实例越多的类,越容易发生结构变更;(c)文中考虑的任意一种坏味与“影响最严重的变更”之间均不存在显著的相关性;(d)有些坏味与文中考虑的任意变更类型均不存在显著相关性;而有些坏味在多数情况下都会显著地增加某些类别的变更倾向性;(e)与基于CK度量构建的基准预测模型相比,“S”模型在工作量感知场景下的排序性能和分类性具有有显著的优越性。因此,在实际应用中,特别是在预测“应用程序接口(API)”、“功能(Functionality)”以及“属性(State)”的变更时,建议使用“S”模型,该模型不仅可以提升预测性能,还可以指导开发人员对那些“易变的”类开展重构工作。
其他文献
胡锦涛总书记在中非合作论坛北京峰会开幕式上亲自宣布:在2009年之前,向非洲留学生提供中国政府奖学金名额由目前的每年2000人增加到4000人。在中非教育部长论坛上,陈至立国务委员代表我国政府承诺,将在今后5年内扩大接受非洲国家政府奖学金留学生的规模。
随着汽车保有量的不断增长,自动驾驶凭借着科技、互联网、大数据等的浪潮快速发展,针对解决泊车过程的时间消耗和矛盾突出等问题,自主代客泊车逐渐成为了无人驾驶研究和应用的热点。基于自主泊车场景的无人车辆定位和导航建图是自主代客泊车的至关重要的一步。本文面向自主泊车场景,针对现有的激光里程计在泊车场景中存在里程计精度较低、鲁棒性不足等问题,改进多源传感器融合定位与建图的方案
分类号密级UDC编号硕士学位论文理工科高校美育现状及对策研究——以南京工业大学为例研究生姓名:殷玉雪导师姓名:陈建华申请学位级别:硕士一级学科名称:马克思主义理论二级学科名称:思想政治教育2020年6月RESEARCHONTHECURRENTSI
随着天然能源的日益减少,环境污染日趋严重,节约能源和清洁生产迫在眉睫。半导体热电转换装置尽管目前转换效率比较低,但因为具有结构紧凑、没有移动部件、工作无噪声、使用寿命长、安全不失效、易于自动检修、无污染等优点,又成为研究热点。热电材料是通过材料的热电效应实现热能和电能之间的转换的一种功能材料。作为热电发电器的核心部分的热电材料自然成为研究的重点。本文首先对热电效应、热电材料的发展历史、热电材料的研
以计算机和通信网络为标识的信息技术成果将人类推进到了信息时代,移动通信成了人们广泛的通信工具,随着人们对信息传输带宽的要求越来越高,传播载波的频率也在不断地向越来越高的方向发展。本论文涉及一种通过光纤直接来传送射频载波信号(ROF)的高带宽高频载波信息传播方案,该方案利用光电调制的方法来实现微波信号到光信号的直接转换。该转换机构的核心器件是一个高Q值的碟状电光调制器,该碟状电光调制器通常采用具有高
本文对每类方法均进行了较详细的研究和仿真分析。每类方法都有它的优缺点,需要根据实际的系统要求合理选用。除此之外,本文对MC-CDMA系统的峰均比问题也进行了详细的研究分析,并对两种利用扩频码的选择和组合来降低信号峰均比的算法进行了深入的仿真研究。本文揭示了对峰均比问题的研究,关键在于找到既可有效降低信号的峰均比,计算复杂度也适中的方法。因此,这就有一个在性能与复杂度之间折衷的问题。
加速康复外科的理念逐渐兴起发展,该共识从术前、术中、术后三个方面详细展开,采用推荐分级的评价、制定与评估(GRADE)对证据质量进行评估,结合临床实际与专家讨论给出推荐强度和推荐等级,探讨了加速康复外科的理念指导下,适用于妇科围手术期的中西医结合整合优化治疗措施并达成专家共识,以期更好地为临床医生合理、安全规范中西医治疗提供参考,从而提高患者妇科围手术期治愈率,促进
石油化工行业属于中国经济的基础,是国家支柱性产业。由于中国的经济发展越来越快,也推动着石油工业的迅猛进步,而中国工业中必需原材料就是石油。作为石油储存的油库是必不可少的,油库主要是用来对油品进行发付、储存以及接收的,对成品油的加工、运输以及供应提供作用,油库的发展及安全管理对国家的经济与国防建设等方面就显得非常重要的。近几年在油库接卸、储存、发付及运输环节中由静电引
将试验室的一组颗粒进行筛分,运用Rosin-Rammler分布函数对所得到的颗粒累积粒径分布进行拟合,计算所得结果与实际的粒径分布具有较好的拟合性。将计算得到中位径和传播系数代入到fluent中进行数值模拟,得到的不同粒径的颗粒分布与试验数据有较好的吻合性,从而说明该颗粒分布模拟的可靠性;通过计算分级效率可以得出除尘器捕捉5μm以上的颗粒效率较高,与试验较为吻合,同
随着计算机和网络技术的飞速发展,数字图像、音频、视频等数字产品越来越需要一种有效的版权保护方法,数字水印在技术上为保护多媒体信息和保证其安全使用提供了一种新的解决思路,已成为多媒体信息安全研究领域的一个热点。所谓数字水印技术就是将数字信息如产品序列号、文本内容、图像标志等版权信息嵌入到多媒体数据中,以起到版权保护、秘密通信、数据文件的真伪鉴别等作用。 本文主要是在小波域中对传统数字水印技术(对称