[发明专利]一种基于数理统计的自承认技术债检测方法在审
申请号: | 202310624963.8 | 申请日: | 2023-05-30 |
公开(公告)号: | CN116662172A | 公开(公告)日: | 2023-08-29 |
发明(设计)人: | 包铁;袁梦;彭涛;甘露;宋伟 | 申请(专利权)人: | 吉林大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F40/216;G06N3/045 |
代理公司: | 北京慕达星云知识产权代理事务所(特殊普通合伙) 11465 | 代理人: | 李冉 |
地址: | 130012 吉*** | 国省代码: | 吉林;22 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数理统计 承认 技术 检测 方法 | ||
1.一种基于数理统计的自承认技术债检测方法,其特征在于,包括如下步骤:
S1:数据集的获取:获取源代码注释数据集,用于预训练深度学习语言分类模型,所述源代码注释数据集包括源代码注释和源代码注释的技术债标签;
S2:模型的选择:模型包括关键词匹配模型和利用源代码注释数据集完成预训练的深度学习语言分类模型;根据源代码注释中的关键词数理统计结果,以及检测环境的约束条件选择所述模型中的一个执行自承认技术债的检测;
S3:自承认技术债的检测:将新的待检测注释数据输入到S2选择的模型中执行自承认技术债的检测,输出的结果为所述新的待检测注释数据是否为自承认技术债的结果。
2.根据权利要求1所述的一种基于数理统计的自承认技术债检测方法,其特征在于,所述S1还包括数据集的预处理步骤:
对所述源代码注释进行预处理,包括:清除注释中标点符号和设定的指定符号,以及统一所述源代码注释的文本格式。
3.根据权利要求1所述的一种基于数理统计的自承认技术债检测方法,其特征在于,所述关键词匹配模型包括:
设定自承认技术债关键词;
在源代码注释中检索匹配所述自承认技术债关键词,若源代码注释中含有所述自承认技术债关键词,则当前源代码注释为自承认技术债;否则为非自承认技术债。
4.根据权利要求3所述的一种基于数理统计的自承认技术债检测方法,其特征在于,所述自承认技术债关键词包括:todo、XXX、fixme、hack中的一个或多个的组合。
5.根据权利要求1所述的一种基于数理统计的自承认技术债检测方法,其特征在于,所述深度学习语言分类模型包括:
以Bert模型为主干网络,包括预训练的Bert层、全连接层和输出层;
通过调节不同类的权重确定二元交叉熵损失函数,所述不同类包括自承认技术债和非自承认技术债;
利用所述源代码注释和源代码注释的技术债标签训练得到所述Bert模型的网络参数。
6.根据权利要求5所述的一种基于数理统计的自承认技术债检测方法,其特征在于,所述二元交叉熵损失函数的调整步骤包括:
确定初始二元交叉熵损失函数:LOSS(Y,T)=-∑iTilog(yi)
其中,yi为第i类源代码注释的技术债标签,i取值为0和1,第0类对应非自承认技术债的标签,第1类对应自承认技术债的标签;Ti为yi预测为自承认技术债的概率;
自承认技术债的权重为:
非自承认技术债的权重为:
其中,n为自承认技术债的数量,m为非自承认技术债的数量;
将初始二元交叉熵改进为:LOSS(Y,T)=-(1-weighti)∑iTilog(yi)。
7.根据权利要求5所述的一种基于数理统计的自承认技术债检测方法,其特征在于,采用Adam更新算法优化网络参数,包括学习率和衰减因子,预训练后确定的学习率和衰减因子分别为2e-5和0.95。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于吉林大学,未经吉林大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310624963.8/1.html,转载请声明来源钻瓜专利网。