[发明专利]一种预训练增强的代码克隆检测方法在审
申请号: | 202111283972.2 | 申请日: | 2021-11-01 |
公开(公告)号: | CN113986345A | 公开(公告)日: | 2022-01-28 |
发明(设计)人: | 刘爽;冷林珊;田承霖 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F8/75 | 分类号: | G06F8/75;G06K9/62;G06N3/04;G06N3/08 |
代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 刘子文 |
地址: | 300350 天津市津南区海*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 训练 增强 代码 克隆 检测 方法 | ||
1.一种预训练增强的代码克隆检测方法,其特征在于,包括以下步骤:
(1)从开源代码库获得预训练语料;经过数据清洗、分词处理,将连续的代码片段分割成token,构成词表;
(2)使用子词丰富预训练模型,对上一步获得的词表进行词向量训练,对于在词表中预先训练过的单词,直接利用预先训练的嵌入,在词向量训练中得到的嵌入矩阵中查找向量作为token表示;而对于不在词表中的单词,通过单词的子词来组成单词的表示;
(3)选择与语义相关的任务对克隆检测模型参数进行预训练;使用函数名预测的预训练方法,在获得了开源代码后,使用函数名和函数体对长短时记忆网络进行预训练,使长短时记忆网络获得函数的语义信息;
(4)对两段代码的语义进行训练,从而识别出输入的两个代码片段是否为克隆代码段;
(5)根据两个代码片段得出的单一向量进行分类,判断两段代码是否是克隆对。
2.根据权利要求1所述一种预训练增强的代码克隆检测方法,其特征在于,步骤(1)中利用爬虫方法首先获得所需要的预训练语料。
3.根据权利要求1中所述预训练增强的代码克隆检测,其特征在于,步骤(2)中使用子词丰富预训练模型对词表中的单词进行嵌入。
4.根据权利要求1中所述预训练增强的代码克隆检测,其特征在于,子词丰富预训练模型是经过改进的词向量训练模型,由skipgram模型和ngram模型构成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111283972.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:适用于不同轴距长度的汽车环视系统标定装置以及方法
- 下一篇:一种烘干机