【技术实现步骤摘要】
代码检测方法、代码检测服务器及索引服务器
本专利技术涉及软件
,尤其涉及一种代码检测方法、代码检测服务器及索引服务器。
技术介绍
开放源代码软件就是在开放源代码许可证下发布的软件,以保障软件用户自由使用及接触源代码的权利;随着开源软件和开源代码越来越多的涌现,软件开发者在软件的开发工程中,也越来越多的使用网络上的开源代码来实现特定的软件功能,由于开源代码免费向开发者开放,因此在一定程度上,降低了软件开发工程的成本,但是另一方面,由于很多开源代码在稳定性和功能性上存在一定缺陷,或者存在一些使用权限方面的限制,导致使用开源代码开发的软件,容易出现性能方面或者法律版权方面的问题,因此,作为软件开发者,对开发的软件产品一般都会进行开源代码检测,以确定在软件产品的源代码中存在多少开源代码的成分。目前对软件的源代码进行开源代码检测的方法,主要是依靠开发人员对代码内容进行人工识别,再通过与常用的开源代码进行内容比对,从而确定源代码中开源代码的成分。但是,依靠人工进行代码比对的代码检测方式,效率低下,准确率低,增加了软
【技术保护点】
1.一种代码检测方法,其特征在于,所述方法应用于索引服务器,所述索引服务器与代码检测服务器进行通信,所述方法包括:/n确定开源代码文件;/n若所述开源代码文件符合预设的下载条件,则下载所述开源代码文件;/n对所述开源代码文件进行特征提取,以生成所述开源代码文件对应的开源特征向量,所述开源特征向量包括:开源特征摘要;/n根据所述开源特征向量,生成开源特征索引数据,所述开源特征索引数据为MAP结构;/n将所述开源特征索引数据发送至代码检测服务器,用于所述代码检测服务器将所述开源特征摘要与目标代码文件中的目标特征摘要进行对比,以获得检测结果。/n
【技术特征摘要】
1.一种代码检测方法,其特征在于,所述方法应用于索引服务器,所述索引服务器与代码检测服务器进行通信,所述方法包括:
确定开源代码文件;
若所述开源代码文件符合预设的下载条件,则下载所述开源代码文件;
对所述开源代码文件进行特征提取,以生成所述开源代码文件对应的开源特征向量,所述开源特征向量包括:开源特征摘要;
根据所述开源特征向量,生成开源特征索引数据,所述开源特征索引数据为MAP结构;
将所述开源特征索引数据发送至代码检测服务器,用于所述代码检测服务器将所述开源特征摘要与目标代码文件中的目标特征摘要进行对比,以获得检测结果。
2.根据权利要求1所述的方法,其特征在于,所述对所述开源代码文件进行特征提取,以生成所述开源代码文件对应的开源特征向量,包括:
根据开源代码文件的语言类型、软件的名称、文件路径、文件大小、开源特征摘要生成开源特征向量。
3.根据权利要求2所述的方法,其特征在于,根据SimHash算法对所述开源代码文件进行计算,以生成开源特征摘要。
4.一种代码检测方法,其特征在于,所述方法应用于代码检测服务器,所述代码检测服务器分别与所述索引服务器和所述客户端进行通信,所述方法包括:
接收客户端发送的代码检测请求,所述代码检测请求中包括:目标下载地址和特征标识;
根据所述目标下载地址获取目标代码文件;
根据所述目标代码文件,生成目标特征摘要;
获取开源特征索引数据中与所述特征标识对应的开源特征摘要;所述开源特征索引数据是索引服务器发送的;
对所述目标特...
【专利技术属性】
技术研发人员:方春燕,董建,苗宗利,王卫国,代红,吴新松,
申请(专利权)人:中国电子技术标准化研究院,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。