【摘 要】
:
软件开发技术日益更替,由于开发的周期,项目的复杂性等原因很容易引入代码异味。研究表明代码异味会降低代码的可理解性和可维护性,致使程序出错,从而引发深层次的设计问题。
论文部分内容阅读
软件开发技术日益更替,由于开发的周期,项目的复杂性等原因很容易引入代码异味。研究表明代码异味会降低代码的可理解性和可维护性,致使程序出错,从而引发深层次的设计问题。所以代码异味检测对于软件开发和维护尤为重要。目前,很多优秀的方法技术用于代码异味检测。近年来,基于机器学习的检测技术成为较为主流的方法。然而,现有的机器学习方法存在两个局限性:(1)大多数文章只关注常见异味,(2)当用于不常见的异味检测时,所提出的度量是无效的,例如变更障碍代码异味。为了克服这些局限性,本文集中于三种不常见的变更障碍类型代码异味,包括Parallel Inheritance、Shotgun Surgery和Divergent Change,首次系统地研究变更障碍在机器学习领域下的识别预测并分析其特定领域的度量特征。变更障碍代码异味是指代码的一处变更会影响到许多类。而变更障碍的检测有助于提高软件代码的质量,增强代码的可读性,减轻后期维护的工作量,提高工作效率,并帮助开发人员发现可能在将来的维护工作中造成不良影响的设计问题。本文提出了基于逻辑回归的变更障碍检测算法,通过数据提取,数据预处理,数据存储和模型构建及预测来预测代码异味。首先,提取跟异味本身特性相关的特定领域的度量特征,对这些特征执行数据预处理。利用经过处理的度量构建逻辑回归模型,并对模型参数进行优化,选择最佳参数配置的模型训练数据。最后,采用训练好的模型对待检测的代码进行预测,得到异味检测反馈结果。经实验验证,该方法具有高达81.8%-100%的精确率和召回率,比现有算法提高了10-30个百分点。此外,本文还分析了所用度量的相关性和重要性,发现特定领域的度量特征对于检测变更障碍代码异味非常重要,能够使模型达到较好的性能,进而验证了度量对于异味识别的关键性作用。本科研成果有利于帮助开发者更好地设计检测此类代码异味的工具。
其他文献
作为当今动物界最大的一个门类,节肢动物是研究生物演化和破解寒武纪生命大爆发之谜的重要一环。而在寒武纪特异埋藏生物群与化石库中,由于属种较少且结构复杂难以完好保存,双瓣壳节肢动物是稀有的化石保存类群。至今它们的头部结构分节尚存在争议,但学术界普遍认为这些经典的双瓣壳节肢动物具有非常接近的亲缘关系(Budd,2002;Legg et al.,2013;Aria&Caron,2017)。由于近年
无线通讯技术和嵌入式计算技术在近些年的高速发展使得传统控制系统中的有线通信逐步被无线通信所取代,形成了所谓的无线网络化控制系统。该类系统具有低成本、高灵活、易实
图像压缩是信息处理领域重要的研究课题。分形图像压缩充分利用图像冗余和自相似的特性,在保证高的压缩比的同时能够获得较好的重构图像质量。然而,基本分形压缩编码在进行图
思想政治课的生活化教学是近年来的热点问题,人们开始了对生活化教学的更多关注,根据思想政治课生活化教学的含义及意义,寻找生活化教学在思想政治课教学中的运用,也成了思想
移动网络与智能终端的飞速发展,催生云游戏、虚拟现实及图像识别等多元化计算密集型应用的接连涌现。但是,各类新兴应用的密集计算需求对移动智能设备任务计算能力提出巨大挑
调频连续波(Frequency Modulated Continuous Wave,FMCW)雷达由于具有无距离盲区、测距精度高且结构简单等优势,使其应用领域逐渐从军用走向民用。随着FMCW雷达的广泛应用,对
优生优育对于降低新生儿的先天畸形概率,提升生殖健康水平,乃至提高全民的整体健康水平,均具有重要的现实意义。目前,优生优育临床检测的主要标志物称为TORCH五项,分别为:弓
受到构件干涉、运动奇异等因素的影响,传统并联机构的工作空间一般比较小,某种程度限制了并联机构的应用范围。课题组通过匹配耦合支链以增大并联机构输出空间的方法,综合并获得了一批新型耦合并联机构——双并联耦合机构。本文主要针对该类新型大工作空间双并联耦合机构以及基于一种球面双并联耦合机构研制的4-RRR//RRR+R冗余支链混联球面仿人肩关节机构的部分性能特征进行研究。推导了双并联耦合机构的转动和移动叠
随着互联网行为式验证码技术的发展,以拖动滑块为代表的鼠标轨迹识别因其传输数据小、暴力破解难度大等特点,广泛运用于多种人机验证产品中。但是攻击者可通过黑产工具产生类
在传统的核酸检测研究中,往往需要加入特定的试剂、荧光剂或者探针等,同时也带来操作步骤繁杂、成本高、污染样品、污染环境等问题。本论文在不添加荧光剂或者探针进行标记的情况下,利用常规光荧光方法,对影响单链脱氧核糖核酸样品(ssDNA)荧光特性的多个因素进行了实验研究,并结合ssDNA的结构特点分析了造成这些影响的物理机制。在此基础上,还探索了不同影响因素下ssDNA样品的无标记鉴别方法。本文的主要内容