基于代码注释的技术债务检测和分类方法研究

来源 :杭州电子科技大学 | 被引量 : 0次 | 上传用户:lingling850502
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,随着信息技术的高速发展,计算机软件已经被应用到社会的各行各业中。然而,由于资源、时间和业务等因素的影响,开发者往往提交一些不规范的代码,从而影响了软件中的代码质量。技术债务是指开发者为了满足短期需求(如软件发布计划、预算等)而牺牲长期代码质量所导致的后果。为了帮助软件开发者识别软件中的技术债务,研究者已经提出了许多自动或半自动方法。目前,通过代码注释来检测技术债务是最流行的检测方法。但是,研究表明技术债务的代码注释通常存在长度差异明显、占总注释的比例小和不同项目间描述风格差异大等问题,从而导致已有方法的效果仍不理想。另外,已有研究仅仅聚焦在技术债务的检测问题上。然而,在实际中,开发者需要对检测到的技术债务做进一步分类,这是一个非常消耗时间的工作。本文针对以上问题展开研究,深入分析代码注释中的技术债务实例,帮助开发者更高效地识别技术债务。本文的主要工作包括如下两个方面:(1)为了识别技术债务,本文提出了一种基于注意力机制和双向长短期记忆网络的自承认技术债务检测方法。该方法首先对代码注释进行预处理,然后使用Glo Ve模型训练词向量,最后利用双向长短期记忆网络和注意力机制学习注释中的文本特征来构建分类器。在训练分类器时,本方法使用平衡交叉熵损失函数解决样本不均衡问题,并且使用遗传算法为平衡交叉熵损失函数的平衡因子寻找最优或近似最优值,从而提高模型的泛化能力。基于真实数据集的大量实验表明,该方法的平均精度为81.75%、召回率为72.24%、F1值为75.86%,分别比最佳对比方法高出8.52%、5.24%和6.64%。(2)为了有效识别不同种类的技术债务,本文提出了一种基于XGBoost的自承认技术债务多分类方法。该方法首先对代码注释进行预处理操作,其次使用数据增强策略增加数据集中小类的样本数量,以解决类不均衡问题,然后利用特征选择方法对代码注释进行特征选择处理,最后使用XGBoost构造分类器。基于真实数据集上的大量实验表明,该方法在技术债务分类方面平均能达到63.14%、56.37%和56.25%的宏平均精度、宏平均召回率和宏平均F1值,分别比最佳对比方法高出12.29%、3.77%和6.46%。
其他文献
水性膨胀型防火涂料由于绿色环保、阻燃效率高、干燥快、施工方便等优点,被人们广泛使用。但水性膨胀型防火涂料仍有一些不足,如涂料形成的膨胀炭层强度低,导致涂料耐火性能不好;涂料的生烟量大,导致涂料遇火时危害大;涂料耐水性能差,导致涂料使用寿命短、遇水时作用小等。因此针对以上的情况,本文分别制备了螺环磷酸根离子、碳酸根离子和硝酸根离子插层的水滑石(S-LDH、C-LDH和N-LDH),以及聚磷酸铵微胶囊
随着硬件性能的不断突破和计算机视觉的飞速发展,人脸识别、身份验证、表情识别等人脸应用受到广泛用户的青睐,推动了人脸检测技术的持续发展,并且成为近十年研究最多的课题之一。然而由于现实环境中存在诸多不确定因素,比如光照变化、人脸遮挡、不同姿态、多样的表情和各种不同尺度的人脸等,使得人脸检测技术很难再现实生活中广泛应用,其中人脸遮挡和多尺度人脸对人脸检测性能的影响最为严重,是目前大多数人脸检测算法存在的
复杂产品系统(英文全称Complex Product System,以下简称Co PS)目前主要应用场景为各类工厂,比如石油、化工、冶金、发电厂等,其中DCS(英文全称Distributed Control System分布式控制系统)为主要应用系统[1]。通过对计算机技术、自动化系统控制技术、网络通讯等技术的结合,来达到对工业中使用的系统的过程控制、管理等功能。中国是世界核电大国,核电装机数量居
随着工业技术的发展,不断增长的复杂产品需求使得工业生产面临越来越多的挑战。以网络进行互联的信息物理融合系统(Cyber-Physical System,CPS)成为了“工业4.0”的核心内容。作为一种典型的分布式架构,CPS采用分布式智能制造设备替代传统集中式的工业生产系统,以实现更加智能化和灵活化的生产模式。在CPS多设备单元模式下,对系统的方案设计有了更高要求。解决多设备单元通信时高并发问题,
随着近年来互联网和移动互联网的兴起,新媒体也取得了蓬勃发展,新媒体文章和稿件也呈现爆发式增长的趋势。面对海量和多种格式的新媒体数据信息,如何在这样大规模的数据信息中快速和准确地找到所需要的稿件信息成为自媒体用户所面临的一个问题。本文根据以上问题和需求,基于Spring+SpringMVC+Hibernate的架构进行设计开发,结合了 Solr搜索引擎服务和百度语音识别工具,提出了一种B/S架构的新
振动焊接技术通过给被焊工件施加激振力,使得工件振动,减小熔池中温度梯度,细化晶粒尺寸,减少焊接成形缺陷,提高焊接接头质量。然而并非施加振动,都能保证接头具有良好的力学
近年来,随着人们对非线性控制研究的不断深入,网络控制已经被广泛地应用到各种非线性系统的控制中.而网络由于受到带宽的限制,在一定时间内只能传输有限量数据,因此为了避免传输过程中发生拥堵、数据缺失等现象,在数据传输前需要先对其进行量化和编码,从而提高网络的传输性能.因此控制信号只有在被量化后才能传输给受控系统.由此导致的量化误差很大程度上影响着系统稳定性.因此,在非线性系统设计时,考虑如何消除信号量化
微波光子技术作为一门新兴的微波领域与激光领域的交叉学科,主要研究方向为在光域上实现高频微波信号的产生、传输以及处理,可以突破传统电子领域对于高频段微波信号的的技术限制,目前广泛应用于光载射频网络、微波光子雷达、星间通讯等领域。其中,高质量的微波信号源是以上应用的关键基础,因此有效产生低噪声、高稳定性的光生微波,成为当前微波光子学的研究热点之一。本论文选取低噪声窄线宽单频光纤激光器作为基础光源,开展
LD钢是一种典型的冷作模具钢,淬火后的LD钢具有高韧性、高耐磨性等优点,能够满足多种冷作加工模具的需求。LD冷作模具钢切削加工性能的优劣,对刀具寿命、生产效率、工件表面
图像显著性检测是指利用人眼的注意力机制将图像中较为突出的目标区域检测出来。当面对一幅自然图像时,人类可以准确的捕捉图像的显著区域。如背景为蓝色的天空时,点缀在其中的几朵白云便是显著的;又如湖面上的一艘船,船相对于湖面也是显著的。这些场景都有共同的特点,显著部分与背景部分对比度差别较大且颜色差异也较大。对于如上所提出的背景较为单一的场景,已有许多简单且准确度较高的图像显著性检测算法。但对于图像背景较