基于机器学习的代码异味检测与移除推荐

来源 :杭州电子科技大学 | 被引量 : 0次 | 上传用户:nbbob
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
代码异味是指源代码的次优设计或实现。迫于时间压力或其他因素,代码异味经常不可避免地被引入到软件项目中,给软件维护带来了隐患。采用人工的方式检测软件中的代码异味并提供移除建议是一项十分耗时且困难的工作。相反,自动识别代码异味并根据其表现特征进行移除推荐不仅可以提高维护工作的效率,并且可以减少开发人员的负担。基于以上背景,本文分别提出了一种基于图神经网络的代码异味检测方法,以及一种基于机器学习的异味移除推荐方法。本文的主要工作体现在以下两个方面:(1)针对特征嫉妒异味,本文提出了一种基于图神经网络的特征嫉妒检测和移动推荐方法。该方法首先分析软件中方法之间的调用关系,并将软件方法及调用关系以图的方式输入到本文所提出的特征嫉妒检测模型中。该模型通过图增强器对输入的原始图进行数据增强以得到增广图,并基于该增广图进行训练。训练后的模型可用于识别特征嫉妒异味,以及为受异味影响的方法推荐移动重构方案。实验结果表明本文所提出的方法,在检测特征嫉妒异味中,平均精确率、召回率、F1值、MCC和AUC可以达到74.21%、85.05%、78.89%、77.89%和91.52%,分别比最佳对比方法高出45.66%、11.92%、37.97%、37.88%和11.23%;在推荐移动重构方案中,平均准确率可以达到61.44%,比最佳对比方法高出5.13%。(2)针对异味移除推荐问题,本文提出了一种基于机器学习的异味移除推荐方法,并对该方法的有效性进行了深入的实证研究。本文从三个开源软件共计66个版本的源代码中提取出实证研究的数据集,其中包含了五种代码异味以及与源文件结构相关、过程相关和异味强度相关的32个特征。本文首先分析了代码异味在软件中的生命周期和存活率。然后,评估了机器学习模型在异味移除推荐方面的有效性,并且在不同的特征组合方式下进行了实验对比以找到用于异味移除推荐的最佳特征集。最后,针对真正需要被移除的异味的识别,将本文方法与现有异味检测方法进行了对比。实验结果表明:1)只有小部分异味在软件开发过程中被移除。2)机器学习模型在异味移除推荐方面是有效的。3)结构和过程相关的特征在异味移除推荐中发挥了重要的作用,而异味强度相关的特征在一些情况下可以提升模型的性能。4)针对真正需要被移除的异味的识别,与现有的异味检测方法相比,本文提出的方法在AUC、准确率和F1值方面表现更好。
其他文献
认知携能网络将无线携能通信(SWIPT)与认知无线电相结合,旨在同时提高系统的能量效率和频谱效率。但同时也带来了问题,即如何处理认知携能网络的干扰以保障信息的安全传输。传统的干扰管理技术将干扰对齐到与信息正交的子空间以进行干扰消除。在认知携能网络中,SWIPT节点接收端使用干扰对齐(IA)技术,不仅可以消除干扰,还能将干扰作为能量源。同时,针对认知携能网络的安全性问题,接收端通过发送人工噪声和设计
学位
<正>改革开放以后,随着经济的腾飞,临沂城市迅速崛起,成为我国北方发展最快的新兴城市,也成为了革命老区和欠发达地区崛起的代表,产生了临沂速度,形成了临沂模式。一、临沂的城市发展临沂是改革开放以来从小城镇发展起来的特大城市,是我国北方发展速度最快的城市。2014年城市人口达到200万,建成区达到210平方公里。30多年来,临沂城市人口增长近40倍,建成区面积增长40多倍。她是科学发展和跨越式发展的代
期刊
随着深度学习的研究与创新不断取得新突破,神经网络结构和数据集规模均呈现指数级增长,单设备的计算和存储资源有限,已不能满足现实任务需求。因此,跨设备实现深度学习模型分布式并行训练成为必然趋势,分布式并行策略的自动搜索和调优也成为近年来的研究热点。现有深度学习分布式并行训练主要基于专家经验设计,缺少对并行空间的探索求解过程,导致并行策略的最优性无法保证。因此有学者提出深度学习分布式并行策略自动搜索和调
学位
为满足我国各类舰船深远海航行的需求,助力智能船舶航线规划的实施,面对广阔海域缺乏长期海浪统计信息的现状,集成涵盖40°E~100°W、0°~60°N区域的广阔海域的长期统计数据,并基于该实海域风浪数据库,采用Python开源语言开发一套以船舶在波浪中的运动响应幅频特性(RAO)为系统输入的长期耐波性预报系统软件。采用挪威船级社开发的WASIM势流求解器,以S175标准集装箱船为算例,求解其RAO,
期刊
图像信息隐藏技术将大量秘密数据嵌入到载体图像中,其最基本特点就是人们对此无法感知,可以在不受第三方怀疑的状况下实现隐蔽通信。近年来,深度学习方法已应用于图像信息隐藏领域,并取得了一些研究成果。但仍然存在未充分利用图像频域信息的问题,因而导致高视觉质量难以满足和信息隐藏容量低。针对上述问题,本文基于拥有高容量特性的信息隐藏网络模型Stegano GAN,并结合深度学习中的注意力机制以及传统信息隐藏方
学位
随着计算机技术的快速发展,各种移动终端设备(如智能手机、平板电脑等)已经广泛普及,在线视频成为一种流行的传播媒介。在终端设备发展的过程中,它的软硬件性能不断提高,给用户带来了更好的使用体验,但同时也加剧了它的能耗问题。一方面,由于终端设备屏幕的增大以及视频应用使用比例的增加,屏幕的能耗不断增大。另一方面,观看在线视频时由于传输大量的网络数据也会造成终端较大的网络能耗。研究发现,屏幕和网络能耗已经成
学位
随着软件即服务的云计算概念迅速升温,面向服务的系统平台得到广泛应用,系统规模和复杂性也随之急剧增加,为系统监控设计带来更高的挑战。同时,在国家海洋信息化的大力推进下,舟山市渔业局为实现对渔业安全的精细化管理,建立了舟山市智慧海渔平台,以便实时掌握渔业生产动态、保障海上作业安全以及规范渔业生产秩序。其系统复杂性及数据时效性要求高的特点对海渔平台监控设计提出更高的要求。传统监控系统在告警通知上存在告警
学位
数字光场(Light Field)作为下一代虚拟现实的核心技术,受到了越来越广泛的关注。然而,受到硬件技术的限制,当前的光场成像设备在时间(帧率)、空间(子光圈图像分辨率)、角度(子光圈阵列)维度上的成像分辨率仍然较低。因此,高分辨率的光场绘制一直是计算成像领域中的一个热点。本文结合深度学习中的最新进展,围绕光场图像在时-空-角维度的超分辨率重建方法开展研究。虽然目前已提出了许多基于深度学习的光场
学位
城市路网交通数据的分析与预测与人们的日常出行息息相关,在智慧城市的建设与发展过程中,路网交通的智能化进程也扮演着极其重要的作用。通过对交通数据的分析与预测,可以及时掌握路网中的即时交通状况,极大提升交通调度及处理突发事件的能力。随着城市化进程的大大加快,传统的数据分析和预测方法已经不能满足庞大交通数据的处理需求,目前越来越多的研究工作趋向于基于深度学习进行建模交通数据进行分析与预测,因此深度学习算
学位
随着我国信息产业的不断发展,信息产业与传统产业的融合不断深入。如何利用信息化来促进传统物流产业的转型升级,是临沂市实现高质量发展的关键。本文基于产业融合的视角,以临沂市为例,探索适合临沂市的信息化与物流产业深度融合的发展途径。通过实地走访临沂市物流产业园区,分析临沂市物流业发展现状,找出存在的问题;并通过实证研究,证明信息化对临沂市物流产业的发展存在正向的促进作用;通过鱼骨图分析法对制约临沂市信息
期刊