[发明专利]一种自动检测注释和代码一致性的方法及其系统有效

专利信息
申请号: 201711456698.8 申请日: 2017-12-28
公开(公告)号: CN108170468B 公开(公告)日: 2021-04-20
发明(设计)人: 刘志勇;陈湘萍;林格 申请(专利权)人: 中山大学
主分类号: G06F8/75 分类号: G06F8/75;G06F11/36
代理公司: 暂无信息 代理人: 暂无信息
地址: 510006 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 自动检测 注释 代码 一致性 方法 及其 系统
【权利要求书】:

1.一种自动检测注释和代码一致性的方法,其特征在于,所述方法包括:

提取海量代码,进行分块处理,并对变化前后的代码块一一对应,获得代码数据集;

获取代码数据集,进行特征提取处理,获得代码数据集中的代码文本特征、代码片段的变化特征、注释特征、注释与代码关联特征的特征向量集;

对所述特征向量集进行分类处理,获得的分类结果,即为注释和代码的检测结果;

其中,所述的注释与代码关联特征,即代码的语义和注释之间的相似度,其计算两者之间的相似度之差的方法采用基于Skip-gram的代码和注释语义融合的词向量模型,作为注释和代码单词的词向量模型,根据词向量模型进行计算注释和代码的相似度:

对两个单词的相似度为两个单词的词向量的余弦距离,计算公式为:

sim(w1,w2)=cos(w1,w2);

单词与句子的相似度为单词与句子中的单词的最大相似度,计算公式为:

句子与句子的相似度计算公式为:

其中,n为S1中的单词个数;w为单词;S为句子。

2.一种自动检测注释和代码一致性的系统,其特征在于,所述系统包括:

代码分块模块,用于提取海量代码,进行分块处理,获得代码数据集;

特征提取模块,用于对代码数据集进行特征提取处理,获得代码数据集中的代码文本特征、代码片段的变化特征、注释特征、注释与代码关联特征的特征向量集;

分类模块,用于对特征向量集进行分类处理;

其中,所述特征提取模块还包括计算单元用于计算代码的语义和注释的相似度之差;

其中,所述的注释与代码关联特征,即代码的语义和注释之间的相似度,其计算两者之间的相似度之差的方法采用基于Skip-gram的代码和注释语义融合的词向量模型,作为注释和代码单词的词向量模型,根据词向量模型进行计算注释和代码的相似度:

对两个单词的相似度为两个单词的词向量的余弦距离,计算公式为:

sim(w1,w2)=cos(w1,w2);

单词与句子的相似度为单词与句子中的单词的最大相似度,计算公式为:

句子与句子的相似度计算公式为:

其中,n为S1中的单词个数;w为单词;S为句子。

3.根据权利要求2所述的一种自动检测注释和代码一致性的系统,其特征在于,所述代码分块模块还包括对比单元,用于对变化前后的代码块进行一一对应处理。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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