【摘 要】
:
代码异味是指任何可能导致代码深层次问题的症状,其通常是由开发人员在程序中的设计缺陷或不良编码习惯而引起。传统代码异味识别方法因缺乏规范的判断标准而带有较强的主观性,并受开发者、开发语言、开发方法等多种因素影响。代码异味强度是异味严重性程度的表征,划分异味的不同强度有助于开发者对不同异味处理进行优先级排序,从而使高危险性代码问题得到优先处理,以减少软件项目的开发与维护成本。目前有关异味强度的研究资料
【基金项目】
:
国家自然科学基金项目,项目编号:61672355,“Web应用的统计测试与可靠性度量体系研究”,2017.1-2020.12;
论文部分内容阅读
代码异味是指任何可能导致代码深层次问题的症状,其通常是由开发人员在程序中的设计缺陷或不良编码习惯而引起。传统代码异味识别方法因缺乏规范的判断标准而带有较强的主观性,并受开发者、开发语言、开发方法等多种因素影响。代码异味强度是异味严重性程度的表征,划分异味的不同强度有助于开发者对不同异味处理进行优先级排序,从而使高危险性代码问题得到优先处理,以减少软件项目的开发与维护成本。目前有关异味强度的研究资料较少,而传统人工和简单的算法异味强度识别方法不能有效提高检测的精确性和效果。对此,本文通过对9个开源软件系统中包含的4种代码异味进行分析与研究,提出一种LightGBM-CFS的代码异味强度预测模型,该模型考虑了基于开发者感知的代码异味严重性,对提取的代码度量指标进行相关性特征选择并使用LightGBM算法,分别对Blob Class、Complex Class、Spaghetti Code以及Shotgun Surgery四种异味类型的代码实例通过模型进行异味强度预测并依据严重性差异划分了三个异味级别。本文从统计角度对所考虑的各项代码度量指标与异味严重性之间存在的相关关系进行验证,通过分析排除了与代码异味强度相关程度较弱的指标,筛选能对代码异味强度预测起关键作用的指标。通过对各代码异味度量指标进行灰色关联分析,计算了代码异味度量指标间的关联度,指出了不同类型的代码异味可能受代码度量指标的影响存在差异,并对这些指标进行了量化分析以及根据其对不同种类代码异味的影响做了相应解释性研究。本文设计了LightGBM-CFS代码异味强度预测模型的相关实验,选用了基于实例与效率的多项指标对模型进行了评价。结果表明本文提出的LightGBM-CFS代码异味强度预测模型与原有性能表现最佳的随机森林(RF)模型相比,在精确率、召回率、F1值、MCC和AUC等多项指标上提升效果明显,其中F1值最高达90.0%,最多提升3.7%;AUC值最高达94.2%,最多提升3.8%;且模型在效率指标上得到了较大提升,对比RF模型预测时间可缩短76.1%。
其他文献
热带气旋是一种强气旋性涡旋,其在热带海洋上形成,并具有暖心结构。近几十年来,在热带气旋的路径和强度预测方面取得了显著进展,然而有关热带气旋的生成预报仍然充满挑战。因此,准确预测未来某一时刻热带气旋的生成时间和位置对于政府相关部门制定防灾减灾计划至关重要。现如今,与热带气旋相关预测的方法主要有:数值、统计和统计动力预报。数值预报常用于台风生成的预测,而统计动力模型则基于气候学和持久性来预测未来的强度
随着云、雾、边缘计算及物联网的快速发展,网络中信息的安全传输变得越来越重要。信息的安全传输内容包括数据、图像、音频和视频等,图像包括传统图像和光学图像。随着光学技术和网络技术的发展,光学图像在网络中的安全传输也变得越来越重要。近年来,基于密码学的非对称光学图像加密既克服了传统DRPE和变换域加密的线性问题,也改善了PTFT光学非对称加密技术安全性不足的缺陷。但是,在基于RSA非对称算法的光学图像加
图像分割是计算机视觉中的基本任务之一,它是对图像进行分析理解的前提。图像分割效果容易受到噪声,光照和背景等各种因素的影响。因此,很难提出一种通用的算法来实现图像分割。聚类算法已被广泛应用于图像分割,其中,密度峰值聚类算法(DPC)简单高效,是常用的图像分割算法之一。由于DPC及其改进算法不是专门为图像分割设计,分割结果不一定能同时满足主观感觉和客观指标。针对上述问题,本文提出了基于相对扩展密度峰值
随着机器人和传感器技术的高速发展,移动机器人的应用场景逐渐从无人化工厂转移到生活服务业中。其中,SLAM(Simultaneous Localization and Mapping)技术是移动机器人领域的核心技术之一,即同步地进行自身定位与环境地图的构建,结合路径规划技术能够实现移动机器人的自主导航。定位、建图和路径规划均依赖于机器人搭载的外部传感器对周围环境进行实时感知。激光雷达以测量精度高、抗
深度学习相关理论的进一步发展与计算机硬件水平的不断提高,为目标检测领域的发展提供了巨大的推力。通用的目标检测算法对于大,中目标已取得了不错的成果,但对于小目标的检测效果往往不尽人意。与此同时,航拍图像对于城市交通、环境监测等领域的地位越来越重要,而航拍图像中存在着众多的小目标。因此,基于航拍图像的小目标检测是一个十分具有前景的方向。小目标检测的难点在于像素占比小,特征提取困难,同时目前主流的检测算
《中国制造2025》重点领域技术路线中明确提出要实现航空发动机、发电设备等高端装备的实时故障诊断,提高我国工业信息化水平。流体机械装备在航空航天、发电机组、军工领域均有着大量应用,掌握流体机械装备的故障特征,对确保航空航天、发电机机组等领域的安全生产和可靠运行具有重要意义。随着智能制造的发展,传统故障诊断方法在实际应用与发展中具有很大局限,深度学习有着强大的自主学习和模式识别的能力,在工业设备的故
软件结构设计不佳的症状可通过正确的重构步骤解决。多数代码异味检测工具仅输出检测结果,忽略了结合开发者的需求对检测出的异味按照其强度进行排序,从而将判断异味重构优先级的耗时过程留给了开发人员。部分异味排序模型仅关注代码度量等结构特征,而代码间的层次结构及关联关系等语义信息在较多软件工程研究中被证明有效,却在代码异味排序领域少被研究。本文根据类级代码异味特征以及图结构可对对象及其相关关系建模的特性,考
在计算机技术广泛运用和人工智能快速发展的新时代下,越来越多的人开始学习编程。面对大量编程学习者,教育者如何实时跟踪学习者的知识掌握情况,成为亟待解决的关键问题。知识追踪是解决此类问题的有效手段之一,已经成为人工智能+教育领域的研究热点。但现有知识追踪方法普遍存在习题表示缺乏结构化、信息单薄,以及学习者答题预测准确度偏低的问题。本文以编程知识图谱和学习者答题过程为核心,优化习题表示方式和学习者知识状
随着在线自适应学习的快速发展,教学方式逐步走向线上线下融合的模式,大量教学资源实现了平台共享,通过此类方式在线教育学习平台产生了大量的准实时的在线学习记录,从而为知识状态诊断、自适应学习计划制定、动态学习策略生成、学习进度追溯提供了实现基础。知识追踪(Knowledge Tracing,KT)已经发展成为在线教育系统的重要组成部分,作为在线教育系统的一个关键组成部分,知识追踪通过追踪每个学习者的学
随着社会经济的快速发展,各行业对机器视觉的依赖在逐年提升。因其能够提供直观、有效的分析方法,助力实现车辆的自动或辅助驾驶,机器视觉在智能交通系统和智能网联汽车领域获得了极其广泛的应用。在智能网联汽车的研究中,精确的车道识别可以辅助机动车及骑车者的自动跟踪;与机动车道不同,非机动车道往往在车道宽度、标记方式等诸多方面存在较大的差异。为此,本文专门针对多场景自行车道检测问题的复杂性和多态性进行研究,为