Page 89 - 《软件学报》2020年第10期
P. 89
梁冠宇 等:面向操作系统可靠性保障的开源软件供应链 3065
基于开源图谱和度量模型,我们设计并实现了图 5 所描述的数据流程,以得到对软件的可靠性评分.在目前
的系统中,将可靠性评分限定在 0~5 分,以小数表示中间分值,并保留小数点后两位,如 3.47.可靠性评分的计算过
程如下:
P = f ()e (1)
P = similar (attr ,cluster ( ))G (2)
init
i ∑ n ap
P = i i (3)
n
P + P
P = old updated (4)
new
2
Fig.5 The data flow diagram for generating evaluation of software’s reliability
图 5 可靠性评分数据流图
(1) 更新途径 1 如公式(1)所示,e 表示通过从互联网上抽取相关事件信息,包括软件直接相关的信息(如明
确表示了限制使用或不再维护,或者在事实上已经处于无人维护的状态)、软件归属国籍的政治因素(如存在出
口管制,明确限制某些国家的组织或个人使用,或者明确限制某些用途)等,f 表示具体的分值计算方法,因计算过
程可与监控任务复用,故在第 3.3.3 节中具体描述,此外,由公式(4)可以看出,当某一软件其供应关系中包含了该
受事件影响的软件包,其可靠性评分也会受到相应的影响;
(2) 显然,仅仅通过途径 1 获取的可靠性评分依据将十分有限,对于尚未获得初始评分的软件包,我们基于
度量模型提供的数据对软件包进行聚类,如公式(2)所示,这使得具有类似“可靠性特征”的软件包能够归为一类,
之后即可基于相似度为尚未获得评分的软件赋予初始化评分;
(3) 在途径 1 能够获取的数据极端稀少的情况下,通过途径 2 赋予的初始化评分,其参考价值十分有限,因此
在途径 3 中,我们允许用户基于系统提供的度量信息,对任一软件的可靠性进行评分,并最终综合全部用户的评
分,得到某一个软件的可靠性评分,如公式(3)所示,可以看出,考虑到用户不同的专业水平,我们在综合所有评分