[发明专利]一种异质集成的自承认技术债务自动检测方法在审
申请号: | 202110632822.1 | 申请日: | 2021-06-07 |
公开(公告)号: | CN113313184A | 公开(公告)日: | 2021-08-27 |
发明(设计)人: | 殷茗;朱奎宇;高存志;张小港;王嘉泽;周盼;陈杨;张淼 | 申请(专利权)人: | 西北工业大学 |
主分类号: | G06K9/62 | 分类号: | G06K9/62;G06N3/04;G06N3/08 |
代理公司: | 西北工业大学专利中心 61204 | 代理人: | 金凤 |
地址: | 710072 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 集成 承认 技术 债务 自动检测 方法 | ||
本发明公开了一种异质集成的自承认技术债务自动检测方法,分为两个阶段,包括模型的训练阶段和预测阶段。在训练阶段,进行数据集的预处理、特征提取后基于GBDT、SGD和DT三种学习算法对SATD训练样本进行学习以训练组件学习器,三种学习算法一共训练了3个组件学习器。在预测阶段,使用训练好的组件学习器进行预测,根据3个组件学习器以“少数服从多数”进行投票,如果是自承认技术债务会被标记为“positive”,否则标记为“negative”;最终根据每个组件学习器的投票结果进行判断,以投票多者为最终的结果。本发明的异质集成学习方法,比现有技术方法在查准率,查全率以及F1得分等指标都有着明显提高。
技术领域
本发明属于软件技术领域,具体涉及一种自承认技术债务自动检测方法。
背景技术
技术债务作为一种隐喻,指的是在软件开发过程中开发人员采用了非最优的解决方案,从而导致的将来昂贵的维护问题。在短期内可能会获得收益,但从长远来看,由于各种原因引入的技术债务,例如截止日期压力、低质量代码、不良的软件过程等,在维护阶段要花费巨大的精力来处理它所带来的问题。目前,技术债务的研究主要聚焦于识别、分析和管理。其中,技术债务识别是至关重要的问题。
早期技术债务识别是基于模式的识别,例如代码气味。紧接着出现了自承认技术债务识别。自承认技术债务(SATD)是开发人员使用源代码注释进行记录,并有意引入的技术债务。研究人员已经手动提取了62种模式用于识别自承认技术债务,然而基于62种模式的识别对于海量的数据集需耗费巨大的人力,并且使用62种模式识别SATD时会产生误判,并且研究显示误判率高达20%以上,此外基于模式的方法会耗费很大的人力物力,并且很难自动化。为了解决这一问题,自然语言处理和集成文本挖掘为自动识别自承认技术债务提供了可能。
Maldonado提出了运用自然语言处理进行自动识别SATD,重点关注了设计债务和需求债务的识别,通过建立一个NLP的最大熵分类器,提取大量注释来训练最大熵分类器,因此没有进行特征选择,从而使得训练分类器时比较耗时,且SATD识别的准确度不高,并且只能自动识别出部分自承认技术债务,如设计和需求自承认技术债务。
自承认技术债务还包括了缺陷债务、文件债务和测试债务。采用集成文本挖掘将文本挖掘和复合分类器结合起来用于识别SATD,能够比自然语言处理的方法识别出更多种类的自承认技术债务,并且可以提高分类器效率和SATD识别的准确度。但是现有研究中的集成学习多为同质集成学习,相比于异质集成学习,泛化能力较弱,分类性能一般。且存在三个问题,一是进行特征选择虽然可以降低维度,但是容易过滤掉重要特征。二是进行的是同质集成方法,也即组件学习器使用的是同一种算法,在泛化能力上弱于异质集成方法。三是在训练组件学习器时,每一个组件学习器学习的是一个项目的数据,而任务中项目之间有着较大的差异性,这就造成难以预测测试项目的真实标签。
发明内容
为了克服现有技术的不足,本发明提供了一种异质集成的自承认技术债务自动检测方法,分为两个阶段,包括模型的训练阶段和预测阶段。在训练阶段,进行数据集的预处理、特征提取后基于GBDT、SGD和DT三种学习算法对SATD训练样本进行学习以训练组件学习器,三种学习算法一共训练了3个组件学习器。在预测阶段,使用训练好的组件学习器进行预测,根据3个组件学习器以“少数服从多数”进行投票,如果是自承认技术债务会被标记为“positive”,否则标记为“negative”;最终根据每个组件学习器的投票结果进行判断,以投票多者为最终的结果。本发明的异质集成学习方法,比现有技术方法在查准率,查全率以及F1得分等指标都有着明显提高。
本发明解决其技术问题所采用的技术方案包括如下步骤:
步骤1:数据集预处理;
采用公开的源代码注释数据集,将源代码注释数据集中的每一条注释过滤掉非英文字符,只保留英文字母并且将所有英文字母转换成小写字母并移除停止词;
步骤2:特征提取;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110632822.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有高效散热性能的电器柜组件
- 下一篇:填充混凝土的钢结构支撑柱