[发明专利]一种软件检测方法、装置及计算机可读存储介质在审
| 申请号: | 202010484045.6 | 申请日: | 2020-06-01 |
| 公开(公告)号: | CN111625466A | 公开(公告)日: | 2020-09-04 |
| 发明(设计)人: | 段亮 | 申请(专利权)人: | OPPO广东移动通信有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 深圳市恒申知识产权事务所(普通合伙) 44312 | 代理人: | 龙丹丹 |
| 地址: | 523860 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 软件 检测 方法 装置 计算机 可读 存储 介质 | ||
1.一种软件检测方法,其特征在于,包括:
获取目标检测软件中各模块以及基于开源项目源码开发的各组件之间的相关关系;其中,所述开源项目源码通过预设开源许可协议约束使用;
基于所述相关关系确定目标组件的关联模块;
根据对应于所述目标组件的所述开源许可协议,以及所述目标组件与所述关联模块之间的相关关系,检测所述目标检测软件的协议感染模块。
2.根据权利要求1所述的软件检测方法,其特征在于,所述基于所述相关关系确定目标组件的关联模块包括:
将所述相关关系作为边,将所述模块以及所述组件作为顶点,生成有向图;
将所述有向图中与目标组件组成单向链路的所有模块,确定为所述目标组件的关联模块;其中,所述单向链路中所有相邻顶点之间的边的方向相同。
3.根据权利要求1所述的软件检测方法,其特征在于,所述相关关系为依赖关系,所述获取目标检测软件中各模块以及基于开源项目源码开发的各组件之间的相关关系包括:
获取目标检测软件中,各模块之间以及所述模块与基于开源项目源码开发的各组件之间的接口调用关系;
基于所述接口调用关系确定所述各模块之间以及所述模块与所述组件之间的依赖关系。
4.根据权利要求1所述的软件检测方法,其特征在于,所述检测所述目标检测软件的协议感染模块之后,还包括:
获取各所述协议感染模块的感染类型;
基于所述感染类型对各所述协议感染模块进行对应标记。
5.根据权利要求1所述的软件检测方法,其特征在于,所述基于所述相关关系确定目标组件的关联模块之前,还包括:
获取对应于所述各组件的开源许可协议的协议感染风险等级;
将所述协议感染风险等级高于预设等级阈值的组件确定为所述目标组件。
6.根据权利要求1至5中任意一项所述的软件检测方法,其特征在于,所述根据对应于所述目标组件的所述开源许可协议,以及所述目标组件与所述关联模块之间的相关关系,检测所述目标检测软件的协议感染模块包括:
获取对应于所述目标组件的所述开源许可协议的合规使用条件列表;
将所述目标组件与所述关联模块之间的相关关系,与所述合规使用条件列表进行比对;
根据比对结果检测所述目标检测软件的协议感染模块。
7.根据权利要求6所述的软件检测方法,其特征在于,所述根据比对结果检测所述目标检测软件的协议感染模块之后,还包括:
从所述合规使用条件列表中获取关联于所述相关关系的目标合规使用条件;
根据所述目标合规使用条件确定对应的感染等级;
基于所述感染等级对所述协议感染模块输出相应提示。
8.一种软件检测装置,其特征在于,包括:
获取模块,用于获取目标检测软件中各模块以及基于开源项目源码开发的各组件之间的相关关系;其中,所述开源项目源码通过预设开源许可协议约束使用;
确定模块,用于基于所述相关关系确定目标组件的关联模块;
检测模块,用于根据对应于所述目标组件的所述开源许可协议,以及所述目标组件与所述关联模块之间的相关关系,检测所述目标检测软件的协议感染模块。
9.一种电子装置,其特征在于,包括:存储器、处理器及总线;
所述总线用于实现所述存储器、处理器之间的连接通信;
所述处理器用于执行存储在所述存储器上的计算机程序;
所述处理器执行所述计算机程序时,实现权利要求1至7中任意一项所述方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至7中的任意一项所述方法中的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于OPPO广东移动通信有限公司,未经OPPO广东移动通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010484045.6/1.html,转载请声明来源钻瓜专利网。





