【技术实现步骤摘要】
一种开源代码的风险分析方法及装置
[0001]本专利技术涉及数据处理领域,尤其涉及一种开源代码的风险分析方法及装置。
技术介绍
[0002]软件开发过程中,依赖开源代码进行二次开发的情况屡见不鲜,虽然开源代码、开源社区的存在意义是为了代码共享、知识共享,但是开源代码在使用的过程中,也存在使用要求,包括社区要求、开源协议要求等,在使用代码过程中如果违反使用要求,例如,存在使用存在开源许可证风险的开源软件代码,可能会发生诉诸法律的风险。这些情况给开源代码二次开发的工作带来的很大困难,一定程度上阻碍了开源代码二次开发技术的发展。
[0003]为了避免开源许可证风险,在二次开发之前,通常需要对代码本身的风险进行分析,但是这种分析结果的准确性较低,无法满足更高的准确性需求。
[0004]因此亟需能够更准确的分析出开源许可证风险的方法。
技术实现思路
[0005]本申请公开了一种开源代码的风险分析方法及装置,已解决目前开源代码分析结果准确性低的问题。
[0006]一种开源代码的风险分析方法,包括:
[0007]确定目标开源代码项目;
[0008]构建与所述目标开源代码项目相关的知识图谱;其中,与所述目标开源代码项目相关的知识图谱包括多个端点,每个端点为一个开源代码项目,所述目标开源代码项目为所述知识图谱中的首端,所述知识图谱中直接相连的两个端点的开源代码项目中包含相似的代码成分;
[0009]通过知识图谱中各个端点的开源代码项目与目标开源代码项目的关系,对目标开源代 ...
【技术保护点】
【技术特征摘要】
1.一种开源代码的风险分析方法,其特征在于,包括:确定目标开源代码项目;构建与所述目标开源代码项目相关的知识图谱;其中,与所述目标开源代码项目相关的知识图谱包括多个端点,每个端点为一个开源代码项目,所述目标开源代码项目为所述知识图谱中的首端,所述知识图谱中直接相连的两个端点的开源代码项目中包含相似的代码成分;通过知识图谱中各个端点的开源代码项目与目标开源代码项目的关系,对目标开源代码项目的开源许可证风险进行分析。2.根据权利要求1所述的方法,其特征在于,所述通过知识图谱中各个端点的开源代码项目与目标开源代码项目的关系,对目标开源代码项目的开源许可证风险进行分析,包括:以所述知识图谱的末端为起始点,依据上一级开源代码项目与下一级开源代码项目之间的关系,逐级检测上一级开源代码项目存在的开源许可证风险,直至检测到目标开源代码项目;所述上一级开源代码项目和下一级开源代码项目表征直接相连的两个开源代码项目,且上一级开源代码项目靠近开源代码项目的首端。3.根据权利要求2所述的方法,其特征在于,所述依据上一级开源代码项目与下一级开源代码项目之间的关系,逐级检测上一级开源代码项目存在的开源许可证风险包括:若上一级的开源代码项目中的第一开源代码文件不满足下一级的开源代码项目中的第二开源代码文件的开源许可要求,则通过第一开源代码文件和第二开源代码文件的关系分析所述上一级开源代码的开源许可证风险;所述第一开源代码文件和第二开源代码文件具有相似代码成分;若上一级的开源代码项目中的第一开源代码文件不满足下一级的开源代码项目的第三开源代码文件的开源许可要求,且所述第三开源代码文件的开源许可要求对所述第二开源代码文件具有影响,则通过第一开源代码文件和第二开源代码文件的关系分析所述上一级开源代码的开源许可证风险。4.根据权利要求2所述的方法,其特征在于,还包括:检测知识图谱中每个端点的开源代码项目的文件的开源许可要求的传染性的强度,并将每个端点的开源代码项目中的开源许可要求划分为强传染性和弱传染性。5.根据权利要求4所述的方法,其特征在于,所述从所述知识图谱的末端开始,逐级检测上一级的开源代码项目是否满足下一级的开源代码项目的开源许可要求,包括:检测上一级的开源代码项目中的第一开源代码文件是否满足下一级的开源代码项目中的第二开源代码文件的许可要求;若上一级的开源代码项目中的第一开源代码文件满足下一级的开源代码项目中的第二开源代码文件的许可要求,检测所述下一级的开源代码项目是否包含具有强传染性的开源许可要求的第四开源代码文件;若所述下一级的开源代码项目中包含具有强传染性的开源许可要求的第四开源代码文件,则基于第四开源代码文件对第二开源代码文件的传染性,以及第二开源代码文件与第一开源代码文件的关系,所述上一级的开源代码项目的开源许可证风险。6.根据权利要求1所述的方法,其特征在于,所述通过知识图谱中各个端点的开源代码项目与目标开源代码项目的关系,对目标开源代码项目的开源许可证风险进行分析,包括:
检测知识图谱中每个端点的开源代码项目是否存在开源许...
【专利技术属性】
技术研发人员:邓辉,张宝峰,杨永生,孙亚飞,王亚楠,黄小莉,
申请(专利权)人:中国信息安全测评中心,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。