[发明专利]基于双向LSTM和注意力机制的软件技术债务识别方法在审

专利信息
申请号: 202010036852.1 申请日: 2020-01-14
公开(公告)号: CN111273911A 公开(公告)日: 2020-06-12
发明(设计)人: 俞东进;王琳;陈信;郭世明 申请(专利权)人: 杭州电子科技大学
主分类号: G06F8/41 分类号: G06F8/41;G06N3/04;G06N3/08
代理公司: 浙江千克知识产权代理有限公司 33246 代理人: 周希良
地址: 310018 浙江*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 双向 lstm 注意力 机制 软件技术 债务 识别 方法
【说明书】:

发明公开了一种基于双向LSTM和注意力机制的软件技术债务识别方法。该方法基于双向LSTM来实现技术债务的识别,利用注意力机制捕捉不同特征的重要性以提高模型的准确率。另外,该方法使用平衡交叉熵损失函数解决样本不均衡问题。通过本发明方法能够高效识别软件技术债务,降低软件维护的成本,对软件维护具有非常重要的意义。

技术领域

本发明属于软件工程领域,具体涉及到一种基于双向LSTM和注意力机制的软件技术债务识别技术。

背景技术

在软件开发过程中,软件项目的最终目标是提交高质量且无缺陷的软件给用户。但是,由于资源受限或者时间不足等原因,开发人员通常会提交不完整的或临时修复的代码。这种现象被Ward Cunningham隐喻为技术债务,他认为这是一种以牺牲长期代码质量为代价而寻求短期收益的技术折中。与金融债务类似,技术债务也会产生利息,会影响软件的质量、成本和开发效率,因此需要开发者在未来付出额外成本来偿还。

传统的做法是开发人员手动检查软件项目,并确定哪些模块存在技术债务需要被偿还。在实际操作中,由于开发者之间实践经验不同,一些开发人员不知道自己编写的代码存在技术债务。另外,与软件系统中存在的缺陷不同,技术债务通常是看不见的,这导致技术债务不能被及时发现。近年来,越来越多的学者致力于识别技术债务,他们提出不同的技术债务识别方法。一方面,他们从源代码角度出发,通过工具分析源代码并检测代码异常,实现技术债务检测任务。另一方面,开发者会在源代码注释中记录代码中存在的问题,研究者们定义这种技术债务为“自承认的技术债务(self-admitted technical debt,SATD)”,并提出了一些检测SATD的方法。如基于模式的检测方法、基于自然语言处理的检测方法和基于文本挖掘的检测方法等。

然而,这些方法对技术债务识别的准确率依旧不理想,因为基于源代码分析的方法存在假阳率较高的问题,在实际中,需要人工参与,并且操作复杂,会浪费开发人员大量时间。另外,由于记录技术债务的代码注释相对较少,而且传统方法很难有效提取代码注释的文本特征,导致目前的基于代码注释的检测方法在功能和性能上都难以达到预期效果。

发明内容

本发明针对现有技术的不足,提供了一种基于双向LSTM和注意力机制的软件技术债务识别方法,可有效识别代码注释中的SATD。

本发明具体采用的技术方案如下:

步骤(1)获取代码注释集合S=(S1,S2,...,Sm),m为代码注释的数量,将其中的每个样本表示成St=<id,project,y,comment>,t=1,2,3,...,m,其中id表示代码注释编号,project表示代码注释所属项目,y表示代码注释的标签,即是否是技术债务(y=1,表示为技术债务;y=0,表示为非技术债务),comment表示代码注释的文本信息。

步骤(2)对每条comment进行预处理,包括删除完全相同的代码注释、历史修订记录、不含英文字母的字符和停用词,并转换大写字母为小写字母;经过预处理后每个样本为St=<id,project,y,preComment>,其中preComment表示预处理后代码注释的文本信息。

步骤(3)使用Glove方法对预处理后的每个代码注释文本的每个单词wr生成一个d维的词向量υr

步骤(4)设置双向LSTM和注意力机制模型的参数:Number of hidden units(隐藏单元数)、IterMax(LSTM训练最大迭代次数)、Batch size(批量大小)、L2、Learning rate(学习率)、将S分为训练数据集合ζtrain和验证数据集合ζves

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010036852.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top