软件评估方法及装置、计算机可读存储介质制造方法及图纸

技术编号:33855915 阅读:24 留言:0更新日期:2022-06-18 10:43
本发明专利技术公开了一种软件评估方法及装置、计算机可读存储介质,所述软件评估方法包括:获取第一软件集合,所述第一软件集合包括至少一个第一组件,所述第一组件具有标识与许可信息,每一第一组件包括多个第一文件,所述第一文件具有标识与许可信息;获取第二软件集合;将各个第二组件的标识与各个第一组件的标识与许可信息进行比对,以得到第一比对结果;将各个第二文件的标识与所述第一组件的第一文件的标识与许可信息进行比对,以得到第二比对结果;至少根据第一比对结果与第二比对结果生成所述第二软件集合的评估报告。使用上述技术方案能够对第二软件集合进行评估,生成第二软件集合的评估报告,评估报告能够准确地反映软件集合中存在的问题。件集合中存在的问题。件集合中存在的问题。

【技术实现步骤摘要】
软件评估方法及装置、计算机可读存储介质


[0001]本专利技术涉及计算机
,更具体地,其涉及一种软件评估方法及装置、计算机可读存储介质。

技术介绍

[0002]目前,大多数互联网企业在软件开发时采用的都是“混源”开发模式,即在代码中自主引入或由第三方代码引入开源代码。但开源代码若存在问题,发布时的软件集合也会存在问题,将给企业带来未知的风险,所以,对代码进行评估格外重要。
[0003]现有技术在对代码进行评估时,仅将代码与特征库进行比对,将比对形成的扫描报告提供给检查人员进行人工分析。
[0004]但是对现有技术生成的扫描报告进行分析时,分析工作十分依赖检查人员的经验与能力,容易造成结果的误判,且需检查内容繁杂,导致检查效率低下。

技术实现思路

[0005]本专利技术解决的技术问题是如何高效准确地对代码进行评估。
[0006]为解决上述技术问题,本专利技术实施例提供一种软件评估方法,所述软件评估方法包括:获取第一软件集合,所述第一软件集合包括至少一个第一组件,所述第一组件具有标识与许可信息,每一第一组件包括多个第一文件,所述第一文件具有标识与许可信息;获取第二软件集合,所述第二软件集合包括至少一个第二组件,所述第二组件具有标识与许可信息,每一第二组件包括多个第二文件,所述第二文件具有标识与许可信息;将各个第二组件的标识与各个第一组件的标识进行比对,并在存在标识一致的第一组件与第二组件的组件对时,将所述组件对的许可信息进行比对,以得到第一比对结果;将所述组件对中第二组件所包括的各个第二文件的标识与所述组件对中第一组件所包括的第一文件的标识进行比对,并在存在标识一致的第一文件与第二文件的文件对时,将所述文件对的许可信息进行比对,以得到第二比对结果;至少根据所述第一比对结果以及所述第二比对结果生成所述第二软件集合的评估报告。
[0007]可选的,所述获取第一软件集合包括:根据所述第一软件集合生成软件物料表,所述软件物料表包括至少一个软件包数据交换文件和软件物料表索引,每一软件包数据交换文件包括第一组件中所包括的第一文件的标识与许可信息,所述软件物料表索引包括各个第一组件的标识与许可信息,所述许可信息包括许可证和/或版权;从所述软件物料表索引中获取各个第一组件的标识与许可信息,以及从所述软件包数据交换文件中获取各个第一文件的标识与许可信息。
[0008]可选地,所述软件物料表包括包标记清单,所述包标记清单包括各个第一组件之间的依赖关系,所述依赖关系用于指示需要共同运行或共同编译的组件;每一软件物料表索引用于指示对应于同一组件的包标记清单以及软件包数据交换文件。
[0009]可选地,所述至少根据所述第一比对结果以及所述第二比对结果生成所述第二软
件集合的评估报告包括:获取约束信息,所述约束信息包括许可信息之间的约束关系;根据所述包标记清单中各个第一组件之间的依赖关系确定各个第二组件之间的依赖关系;根据各个第二组件之间的依赖关系确定具有依赖关系的多个第二组件;判断多个第二组件的许可信息是否符合所述约束关系;将不符合所述约束关系的各个第二组件的信息加入所述评估报告。
[0010]可选地,所述软件包数据交换文件包括各个第一组件的第一校验和,所述至少根据所述第一比对结果以及所述第二比对结果生成所述第二软件集合的评估报告包括:生成各个第二文件的第二校验和;将各个第二文件的第二校验和与对应的第一文件的第一校验和进行比对;将第二校验和与对应的第一文件的第一校验和不一致的第二文件的信息加入所述评估报告。
[0011]可选地,所述至少根据所述第一比对结果以及所述第二比对结果生成所述第二软件集合的评估报告包括:将每个第二组件的标识与所述软件物料表索引中所有第一组件的标识进行比对;如果所有第一组件的标识中不存在与所述第二组件的标识相一致的标识,则将所述第二组件的信息加入所述评估报告;或者,将每个第一组件的标识与所有第二组件的标识进行比对;如果所有第二组件的标识中不存在与所述第一组件的标识相一致的标识,则将所述第一组件的信息加入所述评估报告。
[0012]可选地,所述至少根据所述第一比对结果以及所述第二比对结果生成所述第二软件集合的评估报告包括:将所有软件包数据交换文件中的第一文件的许可信息加入所述评估报告。
[0013]可选地,所述至少根据所述第一比对结果以及所述第二比对结果生成所述第二软件集合的评估报告包括:根据所述第一组件生成软件成分扫描数据,所述软件成分扫描数据包括特征库中与各个第一文件中第一代码片段匹配的第二代码片段及其许可信息、位置,所述特征库包括多个第二代码片段及其许可信息、位置;将所述软件成分扫描数据中匹配的第二代码片段的许可信息与所述软件包数据交换文件中的第一文件的许可信息进行比对;将许可信息与第一文件的许可信息不一致的第二代码片段的许可信息和位置加入所述评估报告。
[0014]可选地,所述至少根据所述第一比对结果以及所述第二比对结果生成所述第二软件集合的评估报告包括:将每个第二文件的标识与软件包数据交换文件中所有第一文件的标识进行比对;如果所有第一文件的标识中不存在与所述第二文件的标识相一致的标识,则将所述第二文件的信息加入所述评估报告;或者,将每个第一文件的标识与所有第二文件的标识进行比对;如果所有第二文件的标识中不存在与所述第一文件的标识相一致的标识,则将所述第一文件的信息加入所述评估报告。
[0015]可选的,所述第二软件集合的生成时间晚于所述第一软件集合的生成时间。
[0016]可选地,所述第一组件包括衍生类组件,所述衍生类组件包括补丁文件及其应用的原生组件,所述至少根据所述第一比对结果以及所述第二比对结果生成所述第二软件集合的评估报告包括:获取所述衍生类组件中的所有补丁文件及其应用的原生组件;如果一个原生组件对应一个补丁文件,则将该补丁文件应用于对应的原生组件,以得到结果组件,并将所述原生组件的代码片段与所述结果组件的代码片段进行比对,以得到差异代码片段;如果一个原生组件对应多个补丁文件,则迭代地确定应用组件,将各个补丁文件应用于
所述应用组件,并将应用后的应用组件的代码片段与所述应用组件的代码片段进行比对,以得到差异代码片段;将所述差异代码片段的许可信息加入所述评估报告。
[0017]可选地,所述至少根据所述第一比对结果以及所述第二比对结果生成所述第二软件集合的评估报告包括:判断各个第二组件的许可信息是否符合第一预设条件;将所述许可信息不符合所述第一预设条件的第二组件的信息加入所述评估报告。
[0018]可选地,所述至少根据所述第一比对结果以及所述第二比对结果生成所述第二软件集合的评估报告包括:判断各个第二文件的许可信息是否符合第二预设条件;将所述许可信息不符合所述第二预设条件的第二文件的信息加入所述比对结果。
[0019]可选地,所述第一软件集合和所述第二软件集合为待部署的软件集合。
[0020]可选地,在所述评估报告符合预设标准时,将所有第二组件的许可信息与黑名单中各个许可信息进行比对,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件评估方法,其特征在于,包括:获取第一软件集合,所述第一软件集合包括至少一个第一组件,所述第一组件具有标识与许可信息,每一第一组件包括多个第一文件,所述第一文件具有标识与许可信息;获取第二软件集合,所述第二软件集合包括至少一个第二组件,所述第二组件具有标识与许可信息,每一第二组件包括多个第二文件,所述第二文件具有标识与许可信息;将各个第二组件的标识与各个第一组件的标识进行比对,并在存在标识一致的第一组件与第二组件的组件对时,将所述组件对的许可信息进行比对,以得到第一比对结果;将所述组件对中第二组件所包括的各个第二文件的标识与所述组件对中第一组件所包括的第一文件的标识进行比对,并在存在标识一致的第一文件与第二文件的文件对时,将所述文件对的许可信息进行比对,以得到第二比对结果;至少根据所述第一比对结果以及所述第二比对结果生成所述第二软件集合的评估报告。2.根据权利要求1所述的软件评估方法,其特征在于,所述获取第一软件集合包括:根据所述第一软件集合生成软件物料表,所述软件物料表包括至少一个软件包数据交换文件和软件物料表索引,每一软件包数据交换文件包括第一组件中所包括的第一文件的标识与许可信息,所述软件物料表索引包括各个第一组件的标识与许可信息,所述许可信息包括许可证和/或版权;从所述软件物料表索引中获取各个第一组件的标识与许可信息,以及从所述软件包数据交换文件中获取各个第一文件的标识与许可信息。3.根据权利要求2所述的软件评估方法,其特征在于,所述软件物料表包括包标记清单,所述包标记清单包括各个第一组件之间的依赖关系,所述依赖关系用于指示需要共同运行或共同编译的组件;每一软件物料表索引用于指示对应于同一组件的包标记清单以及软件包数据交换文件。4.根据权利要求3所述的软件评估方法,其特征在于,所述至少根据所述第一比对结果以及所述第二比对结果生成所述第二软件集合的评估报告包括:获取约束信息,所述约束信息包括许可信息之间的约束关系;根据所述包标记清单中各个第一组件之间的依赖关系确定各个第二组件之间的依赖关系;根据各个第二组件之间的依赖关系确定具有依赖关系的多个第二组件;判断多个第二组件的许可信息是否符合所述约束关系;将不符合所述约束关系的各个第二组件的信息加入所述评估报告。5.根据权利要求2所述的软件评估方法,其特征在于,所述软件包数据交换文件包括各个第一组件的第一校验和,所述至少根据所述第一比对结果以及所述第二比对结果生成所述第二软件集合的评估报告包括:生成各个第二文件的第二校验和;将各个第二文件的第二校验和与对应的第一文件的第一校验和进行比对;将第二校验和与对应的第一文件的第一校验和不一致的第二文件的信息加入所述评估报告。6.根据权利要求2所述的软件评估方法,其特征在于,所述至少根据所述第一比对结果以及所述第二比对结果生成所述第二软件集合的评估报告包括:将每个第二组件的标识与所述软件物料表索引中所有第一组件的标识进行比对;
如果所有第一组件的标识中不存在与所述第二组件的标识相一致的标识,则将所述第二组件的信息加入所述评估报告;或者,将每个第一组件的标识与所有第二组件的标识进行比对;如果所有第二组件的标识中不存在与所述第一组件的标识相一致的标识,则将所述第一组件的信息加入所述评估报告。7.根据权利要求2所述的软件评估方法,其特征在于,所述至少根据所述第一比对结果以及所述第二比对结果生成所述第二软件集合的评估报告包括:将所有软件包数据交换文件中的第一文件的许可信息加入所述评估报告。8.根据权利要求2所述的软件评估方法,其特征在于,所述至少根据所述第一比对结果以及所述第二比对结果生成所述第二软件集合的评估报告包括:根据所述第一组件生成软件成分扫描数据,所述软件成分扫描数据包括特征库中与各个第一文件中第一代码片段匹配的第二代码片段及其许可信息、位置,所述特征库包括多个第二代码片段及其许可信息、位置;将所述软件成分扫描数据中匹配的第二代码片段的许可信息与所述软件包数据交换文件中的第一文件的许可信息进行比对;将许可信息与第一文件的许可信息不一致的第二代码片段的许可信息和位置加入所述评估报告。9.根据权利要求2所述的软件评估方法,其特征在于,所述至少根据所述第一比对结果以及所述第二比对结果生成所述第二软件集合的评估报告包括:将每个第二文件的标识与软件包数据交换文件中所有第一文件的标识进行比对;如果所有第一文件的标识中不存在与所述第二文件的标识相一...

【专利技术属性】
技术研发人员:谢竑刘伟
申请(专利权)人:展讯通信上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1