[发明专利]一种混源软件中开源成分检测的方法和系统有效

专利信息
申请号: 202111286072.3 申请日: 2021-11-02
公开(公告)号: CN113721978B 公开(公告)日: 2022-02-11
发明(设计)人: 张涛;陈钟 申请(专利权)人: 北京大学
主分类号: G06F8/77 分类号: G06F8/77
代理公司: 北京万象新悦知识产权代理有限公司 11360 代理人: 贾晓玲
地址: 100871*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 软件 中开源 成分 检测 方法 系统
【权利要求书】:

1.一种混源软件中开源成分检测的方法,其特征在于,该方法包括:

获取第一源码文件;所述第一源码文件,是指目标混源软件中的源码文件;

根据第一源码文件的大小分别对所述第一源码文件执行相应的同源分析;

其中,对于大小超过第一阈值的第一源码文件,基于Simhash算法对其进行同源分析:

定义一个Simhash函数h1,基于所述第一源码文件的代码生成所述第一源码文件的第一Simhash值,将所述第一源码文件的第一Simhash值与指纹库中的第二Simhash值逐一进行匹配分析,确定所述第一源码文件是否与指纹库中的第二Simhash值所对应的源码文件同源;其中,所述的第二Simhash值,是指根据第二源码文件的代码基于Simhash函数h1分别生成并存储于指纹库的Simhash值;

对于大小不超过第一阈值的第一源码文件,基于Minhash算法对其进行同源分析:

获取第三源码文件;根据所述第一源码文件、第三源码文件的代码生成所述第一源码文件、第三源码文件的签名集合,并据此构建所述签名集合的特征矩阵;定义一个Minhash函数h2,基于所述特征矩阵和Minhash函数h2估算所述第一源码文件与第三源码文件的签名集合间的Jaccard相似度,确定所述第一源码文件是否与第三源码文件同源;其中,基于所述特征矩阵和Minhash函数h2估算相似度来确定所述第一源码文件是否与第三源码文件同源的过程,具体包括:对所述特征矩阵进行相应的打乱处理,基于Minhash函数h2获得所述第一源码文件与第三源码文件的最小哈希签名矩阵;基于所述最小哈希签名矩阵,分别估算所述第一源码文件与各个第三源码文件的签名集合间的Jaccard相似度,来分别确定所述第一源码文件是否与各个第三源码文件同源;或,对所述特征矩阵进行相应的打乱处理,基于Minhash函数h2获得所述第一源码文件与第三源码文件的最小哈希签名矩阵;基于所述最小哈希签名矩阵,采用LSH算法找出其签名集合与所述第一源码文件的签名集合的Jaccard相似度超过第二阈值的第三源码文件;其中,若有其签名集合与第一源码文件的签名集合的Jaccard相似度超过第二阈值的第三源码文件,判定所述第三源码文件与第一源码文件同源;若无其签名集合与第一源码文件的签名集合的Jaccard相似度超过第二阈值的第三源码文件,则判定源码库中无与所述第一源码文件同源的第三源码文件;

其中,所述第二源码文件,是指源码库中大小超过第一阈值的源码文件;所述第三源码文件,是指源码库中大小不超过第一阈值的源码文件;所述的源码库,是指收集源码文件、并分类存储所述收集的源码文件而生成的源代码仓库;所述的Simhash函数h1、Minhash函数h2,是指任一的Simhash函数、Minhash函数。

2.根据权利要求1所述的方法,其特征在于,

基于所述第一Simhash值与指纹库中的第二Simhash值的匹配来确定所述第一源码文件是否与所述第二Simhash值所对应的源码文件同源,包括:分别计算所述第一Simhash值与指纹库中的各个第二Simhash值之间的海明距离,来判断所述第一源码文件与所述第二Simhash值对应的源码文件之间的相似程度,并据此判断二者是否同源。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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