基于证据理论的软件功能可信度的评估
2014-07-18蔡东容
摘要:证据理论是一种经典的处理不确定性信息和解决信息不完整的方法,软件属性和质量因子大都具有模糊性,很多因子不能用确定的数值表示。基于ISO/IEC9126质量模型中给出的27个软件子特性,利用证据理论及其合成规则计算了软件功能可信度,并给出了实例说明该方法的有效性。最后,总结了该方法的不足。
关键词:证据理论;软件质量评估
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)13-3139-03
Software Function Trustworthiness Evaluation Based on Evidence Theory
CAI Dong-rong
(Southwest China Normal University, Chongqing 400715, China)
Abstract:Evidence theory is a classic way to deal with uncertain and incomplete information. Software attributes and quality factors are fuzzy so that many of them cant be expressed by precise figures.Software function trustworthiness and quality is evaluated quantitatively using evidence theory based ISO/IEC 9126.An example is given to demonstrate validity of this means.
Key words: evidence theory; software quality evaluation
软件已经渗透人们生活的方方面面,软件的质量不仅影响着人们日常生活,更控制着国家财产、人身安全。软件可信度的评估是软件质量保证的关键内容之一。在20世纪80年代,国内外就投入了软件质量度量、评价的研究,提出了不少度量方法,并相继编制了软件质量要求与评价系列标准,ISO/IEC9126质量模型成为了软件质量评价的基础。然后,由于软件属性与质量因子等大都具有模糊特性,很多因子不能用确定数值表示,只能进行主观测量,因此,软件质量的定量评估成了研究热点。
证据理论是一种经典的处理不确定信息的方法,广泛应用于专家系统及智能计算领域,它以基本可信度分配函数(BPA)、信任函数(Bel)、似然函数(Pl)三个基本概念函数为基础,量化了模糊信息的信任程度,通过证据区间很好地表达了证据的“不确定性”、“无知”等概念。
软件由多个子模块构成,每个子模块包含了多个功能,功能的可信程度是软件质量最直观的表现,该文以ISO/IEC 9126标准定义的软件内外部质量模型为基础,将证据理论引入到对该模型的评估中,以27个质量子特性为指标,计算软件各个功能的可信度,以此定量地表现出软件对涉及的各个质量特性的可信程度。
1 评估体系
本文建立了如图1所示的评估模型,评估步骤如下:首先,利用证据理论计算功能涉及到的子特性或子特性组合的可信分配值;其次,如果各个功能均涉及到同一子特性或子特性组合,则运用证据合成规则合成新的可信度分配值作为该子模块的可信度分配值,依次往上得到最终软件的某一子特性或子特性组合的可信度分配值。对各个功能未同时涉及的子特性或子特性组合,作为上一层最终可信度分配值。
图1 评估模型
2 证据理论的运用
2.1 辨识框架及其幂集
将证据理论各个基本概念运用到质量模型中,模型如图2所示,则辨识框架D由质量模型中的27个子特性为元素构成,但由于不同类型的软件涉及到的子特性不尽相同,因此在实际评估中,辨识框架中的元素个数由软件类型而定。如有的软件根据用户需求不同并不具有抵抗非法数据或非授权访问的需求,因此不涉及安全保密性。
一个功能可能涉及一个或一个以上子特性,如查询功能涉及容错性和时间特性两个子特性,但是在同一时刻,用户只能进行一个操作动作,而一个操作动作对应了一个子特性,如执行查询功能时,输入关键词时这一动作涉及的是容错性,下一时刻点击查询按钮时涉及的是时间特性,因此,该辨识框架中的各个元素是互斥的。
辨识框架的幂集2D由各个子特性及其所有组合的集合构成,因此该幂集对应了软件的各个功能项。
图2 外部/内部质量模型
2.2基本可信度分配
证据理论定义了一个基本可信度分配BPA,在辨识框架D上的BPA是一个2D→[0,1]的函数m,函数m满足m([?])=0且[A?Dm(A)=1],一个BPA支持了一个信任,所以在该评估中,函数m描述的是在2D中对各个子特性或子特性组合的可信度的分配,这个可信度的大小映射到[0,1]上,m值越大,分配的可信度越大,当功能项不涉及任何子特性时,函数m的值为0;而当功能项涉及了辨识框架中所有子特性时,函数m的值为1。
2.3 证据区间
在证据理论中,证据区间是以辨识框架D中某个元素A根据BPA m计算出的信任函数Bel与似然函数Pl构成的[Bel(A),Pl(A)]区间,它表示一个命题的不确定度,它量化了命题的可信程度。
其中,信任函数Bel(A)定义为[2]:
[Bel(A)=B?Am(B)]
它描述的是软件对涉及的子特性的最小信任程度,因此构成证据区间的下限。
似然函数Pl(A)定义为[2]:
[Pl(A)=B?A≠?m(B)]
它描述的是软件对涉及的子特性的最大信任程度,因此构成证据区间的上限。
需要注意的是,2.2节描述的BPA是关于辨识框架的信任,不包括它的任何一个子集的信任,是一种局部的信任;信任函数Bel是关于辨识框架幂集的信任,是一种全局的信任。
2.4 证据合成规则
证据的合成表示对证据的联合支持程度。证据理论给出的合成规则如下:若[m1,m2,m3???mi]是同一辨识框架D上i个子特性或子特性组合的基本可信度分配值,则多证据合成后,合成法则定义为:
[m(A)=A1?A2????Ai=Am1(A1)???mi(Ai)1-A1?A2????Ai=?m1(A1)???mi(Ai),A≠?0,A=?]
在本文的评估中,合成不同功能的同一子特性,最终作为这一模块的子特性分配的可信度。
3 实例应用
下面以专家管理信息系统为实例简要说明利用证据理论对软件功能可信度的评估。该系统的共有3个子模块,共个25功能,共涉及了8个子特性,构成9个子特性组合。模块-功能-子特性对应如表1所示。
表1 模块-功能-子特性对应表
[序号\&子模块\&功能\&子特性/组合\&序号\&子模块\&功能\&子特性/组合\&1\&申报子系统\&系统登录\&安全保密性,容错性,时间特性\&10\&评审子系统\&系统登录\&安全保密性,容错性,时间特性\&2\&申报子系统\&系统注册\&容错性,时间特性\&11\&评审子系统\&用户设置\&容错性,易操作性\&3\&申报子系统\&信息录入\&容错性,时间特性\&12\&评审子系统\&项目汇总\&容错性,互操作性\&4\&申报子系统\&申报项目\&容错性,时间特性\&13\&评审子系统\&项目管理\&容错性,互操作性\&5\&申报子系统\&密码修改\&易操作性,易改变性\&14\&评审子系统\&终审\&容错性,时间特性\&6\&申报子系统\&单位初审\&容错性,时间特性\&15\&专家管理子系统\&系统登录\&安全保密性,容错性,时间特性\&7\&申报子系统\&上报复审单位\&容错性,时间特性\&16\&专家管理子系统\&信息管理\&互操作性,易操作性,准确性\&8\&申报子系统\&查询统计\&互操作性,准确性\&17\&专家管理子系统\&专家管理\&互操作性,时间特性\&9\&申报子系统\&复审\&容错性,时间特性\&18\&专家管理子系统\&后台维护\&容错性,成熟性\&]
由表1可知,该子模块涉及的子特性构成的辨识框架是{容错性,易改变性,易操作性,时间特性,准确性,安全保密性,互操作性,成熟性},根据证据理论可得如表3计算结果
表2 子特性可信度量化结果
[\&特性\&m\&Bel\&Pl\&[Bel,Pl]\&申报子系统\&安全保密性、容错性、时间特性\&0.11\&0.78\&0.78\&0\&容错性、时间特性\&0.67\&0.67\&0.78\&0.11\&易操作性、易改变性\&0.11\&0.11\&0.11\&0\&互操作性、准确性\&0.11\&0.11\&0.11\&0\&评审子系统\&安全保密性、容错性、时间特性\&0.2\&0.2\&0.6\&0.4\&准确性\&0.4\&0.2\&0.8\&0.6\&准确性、时间特性\&0.2\&0.6\&0.8\&0.2\&互操作性、准确性\&0.2\&0.4\&0.8\&0.4\&专家管理子系统\&安全保密性、容错性、时间特性\&0.25\&0.25\&0.5\&0.25\&易理解性、互操作性、准确性\&0.25\&0.25\&0.5\&0.25\&互操作性、时间特性\&0.25\&0.25\&0.5\&0.25\&成熟性、容错性\&0.25\&0.25\&0.5\&0.25\&]
根据表2的计算结果可知,该系统对申报子系统这一模块分配给了{容错性,时间特性}这一子特性组合最高的可信度0.67,评审子系统这一模块分配给了{准确性,时间特性}这一子特性组合最高的可信度0.4,专家管理子系统这一子模块分配给各个子特性组合的可信度平均。三个子模块均具有{安全保密性,容错性,时间特性}这一子特性组合,申报子系统与评审子系统均具有{互操作性,准确性}这一子特性组合,两个具有不同信任函数的子特性组合合成结果如下:
表3 证据合成结果
[子特性组合\&m1\&m2\&m3\&m123/m12\&安全保密性、容错性、时间特性\&0.11\&0.2\&0.25\&0.025\&互操作性、准确性\&0.11\&0.2\&\&0.055\&]
由上述结果表格可以看出,多个证据合成后该系统分配给{安全保密性、容错性、时间特性}的可信度为0.025,分配给{互操作性、准确性}的可信度为0.055,合成后可信度明显变小。
4 结束语
软件由不同模块构成,每个模块又细分了不同功能项,将功能表现出的子特性作为评估指标,运用证据理论对每个功能的可信度作出定量计算,以期获得对软件可信度的科学、客观的评估。但是由于软件规模不同,子特性或子特性组合可信度分配值及证据合成计算可能繁琐,使得整个评估略显复杂,且本文仅对软件的功能方面进行了可信评估,并不能全面地对整个软件可信评估。
参考文献:
[1] 陆鑫,廖建明.基于模糊集理论的软件质量评估研究[J].电子科技大学学报,2007,36(3):652-655.
[2] 鞠彦兵,冯允成,姚李刚.基于证据理论的软件开发风险评估方法[J].系统工程理论方法应用,2003,12(3):218-223.
[3] ISO/IEC JTC1/SC7/WG6,ISO/IEC 9126-1:Information technology-software quality characteristics and metrics and metrics-Part1:Quality model[S],2001.
[4] 周迪民,段国云.证据理论在不确定推理中的应用研究[J].计算机应用研究,2010,27(12):4433-4435.
[5] 王志刚,杨世松,赛尔江.证据理论在信息网络系统信任管理决策中的运用[J].信息系统工程.2012,10(20):56-58.endprint
其中,信任函数Bel(A)定义为[2]:
[Bel(A)=B?Am(B)]
它描述的是软件对涉及的子特性的最小信任程度,因此构成证据区间的下限。
似然函数Pl(A)定义为[2]:
[Pl(A)=B?A≠?m(B)]
它描述的是软件对涉及的子特性的最大信任程度,因此构成证据区间的上限。
需要注意的是,2.2节描述的BPA是关于辨识框架的信任,不包括它的任何一个子集的信任,是一种局部的信任;信任函数Bel是关于辨识框架幂集的信任,是一种全局的信任。
2.4 证据合成规则
证据的合成表示对证据的联合支持程度。证据理论给出的合成规则如下:若[m1,m2,m3???mi]是同一辨识框架D上i个子特性或子特性组合的基本可信度分配值,则多证据合成后,合成法则定义为:
[m(A)=A1?A2????Ai=Am1(A1)???mi(Ai)1-A1?A2????Ai=?m1(A1)???mi(Ai),A≠?0,A=?]
在本文的评估中,合成不同功能的同一子特性,最终作为这一模块的子特性分配的可信度。
3 实例应用
下面以专家管理信息系统为实例简要说明利用证据理论对软件功能可信度的评估。该系统的共有3个子模块,共个25功能,共涉及了8个子特性,构成9个子特性组合。模块-功能-子特性对应如表1所示。
表1 模块-功能-子特性对应表
[序号\&子模块\&功能\&子特性/组合\&序号\&子模块\&功能\&子特性/组合\&1\&申报子系统\&系统登录\&安全保密性,容错性,时间特性\&10\&评审子系统\&系统登录\&安全保密性,容错性,时间特性\&2\&申报子系统\&系统注册\&容错性,时间特性\&11\&评审子系统\&用户设置\&容错性,易操作性\&3\&申报子系统\&信息录入\&容错性,时间特性\&12\&评审子系统\&项目汇总\&容错性,互操作性\&4\&申报子系统\&申报项目\&容错性,时间特性\&13\&评审子系统\&项目管理\&容错性,互操作性\&5\&申报子系统\&密码修改\&易操作性,易改变性\&14\&评审子系统\&终审\&容错性,时间特性\&6\&申报子系统\&单位初审\&容错性,时间特性\&15\&专家管理子系统\&系统登录\&安全保密性,容错性,时间特性\&7\&申报子系统\&上报复审单位\&容错性,时间特性\&16\&专家管理子系统\&信息管理\&互操作性,易操作性,准确性\&8\&申报子系统\&查询统计\&互操作性,准确性\&17\&专家管理子系统\&专家管理\&互操作性,时间特性\&9\&申报子系统\&复审\&容错性,时间特性\&18\&专家管理子系统\&后台维护\&容错性,成熟性\&]
由表1可知,该子模块涉及的子特性构成的辨识框架是{容错性,易改变性,易操作性,时间特性,准确性,安全保密性,互操作性,成熟性},根据证据理论可得如表3计算结果
表2 子特性可信度量化结果
[\&特性\&m\&Bel\&Pl\&[Bel,Pl]\&申报子系统\&安全保密性、容错性、时间特性\&0.11\&0.78\&0.78\&0\&容错性、时间特性\&0.67\&0.67\&0.78\&0.11\&易操作性、易改变性\&0.11\&0.11\&0.11\&0\&互操作性、准确性\&0.11\&0.11\&0.11\&0\&评审子系统\&安全保密性、容错性、时间特性\&0.2\&0.2\&0.6\&0.4\&准确性\&0.4\&0.2\&0.8\&0.6\&准确性、时间特性\&0.2\&0.6\&0.8\&0.2\&互操作性、准确性\&0.2\&0.4\&0.8\&0.4\&专家管理子系统\&安全保密性、容错性、时间特性\&0.25\&0.25\&0.5\&0.25\&易理解性、互操作性、准确性\&0.25\&0.25\&0.5\&0.25\&互操作性、时间特性\&0.25\&0.25\&0.5\&0.25\&成熟性、容错性\&0.25\&0.25\&0.5\&0.25\&]
根据表2的计算结果可知,该系统对申报子系统这一模块分配给了{容错性,时间特性}这一子特性组合最高的可信度0.67,评审子系统这一模块分配给了{准确性,时间特性}这一子特性组合最高的可信度0.4,专家管理子系统这一子模块分配给各个子特性组合的可信度平均。三个子模块均具有{安全保密性,容错性,时间特性}这一子特性组合,申报子系统与评审子系统均具有{互操作性,准确性}这一子特性组合,两个具有不同信任函数的子特性组合合成结果如下:
表3 证据合成结果
[子特性组合\&m1\&m2\&m3\&m123/m12\&安全保密性、容错性、时间特性\&0.11\&0.2\&0.25\&0.025\&互操作性、准确性\&0.11\&0.2\&\&0.055\&]
由上述结果表格可以看出,多个证据合成后该系统分配给{安全保密性、容错性、时间特性}的可信度为0.025,分配给{互操作性、准确性}的可信度为0.055,合成后可信度明显变小。
4 结束语
软件由不同模块构成,每个模块又细分了不同功能项,将功能表现出的子特性作为评估指标,运用证据理论对每个功能的可信度作出定量计算,以期获得对软件可信度的科学、客观的评估。但是由于软件规模不同,子特性或子特性组合可信度分配值及证据合成计算可能繁琐,使得整个评估略显复杂,且本文仅对软件的功能方面进行了可信评估,并不能全面地对整个软件可信评估。
参考文献:
[1] 陆鑫,廖建明.基于模糊集理论的软件质量评估研究[J].电子科技大学学报,2007,36(3):652-655.
[2] 鞠彦兵,冯允成,姚李刚.基于证据理论的软件开发风险评估方法[J].系统工程理论方法应用,2003,12(3):218-223.
[3] ISO/IEC JTC1/SC7/WG6,ISO/IEC 9126-1:Information technology-software quality characteristics and metrics and metrics-Part1:Quality model[S],2001.
[4] 周迪民,段国云.证据理论在不确定推理中的应用研究[J].计算机应用研究,2010,27(12):4433-4435.
[5] 王志刚,杨世松,赛尔江.证据理论在信息网络系统信任管理决策中的运用[J].信息系统工程.2012,10(20):56-58.endprint
其中,信任函数Bel(A)定义为[2]:
[Bel(A)=B?Am(B)]
它描述的是软件对涉及的子特性的最小信任程度,因此构成证据区间的下限。
似然函数Pl(A)定义为[2]:
[Pl(A)=B?A≠?m(B)]
它描述的是软件对涉及的子特性的最大信任程度,因此构成证据区间的上限。
需要注意的是,2.2节描述的BPA是关于辨识框架的信任,不包括它的任何一个子集的信任,是一种局部的信任;信任函数Bel是关于辨识框架幂集的信任,是一种全局的信任。
2.4 证据合成规则
证据的合成表示对证据的联合支持程度。证据理论给出的合成规则如下:若[m1,m2,m3???mi]是同一辨识框架D上i个子特性或子特性组合的基本可信度分配值,则多证据合成后,合成法则定义为:
[m(A)=A1?A2????Ai=Am1(A1)???mi(Ai)1-A1?A2????Ai=?m1(A1)???mi(Ai),A≠?0,A=?]
在本文的评估中,合成不同功能的同一子特性,最终作为这一模块的子特性分配的可信度。
3 实例应用
下面以专家管理信息系统为实例简要说明利用证据理论对软件功能可信度的评估。该系统的共有3个子模块,共个25功能,共涉及了8个子特性,构成9个子特性组合。模块-功能-子特性对应如表1所示。
表1 模块-功能-子特性对应表
[序号\&子模块\&功能\&子特性/组合\&序号\&子模块\&功能\&子特性/组合\&1\&申报子系统\&系统登录\&安全保密性,容错性,时间特性\&10\&评审子系统\&系统登录\&安全保密性,容错性,时间特性\&2\&申报子系统\&系统注册\&容错性,时间特性\&11\&评审子系统\&用户设置\&容错性,易操作性\&3\&申报子系统\&信息录入\&容错性,时间特性\&12\&评审子系统\&项目汇总\&容错性,互操作性\&4\&申报子系统\&申报项目\&容错性,时间特性\&13\&评审子系统\&项目管理\&容错性,互操作性\&5\&申报子系统\&密码修改\&易操作性,易改变性\&14\&评审子系统\&终审\&容错性,时间特性\&6\&申报子系统\&单位初审\&容错性,时间特性\&15\&专家管理子系统\&系统登录\&安全保密性,容错性,时间特性\&7\&申报子系统\&上报复审单位\&容错性,时间特性\&16\&专家管理子系统\&信息管理\&互操作性,易操作性,准确性\&8\&申报子系统\&查询统计\&互操作性,准确性\&17\&专家管理子系统\&专家管理\&互操作性,时间特性\&9\&申报子系统\&复审\&容错性,时间特性\&18\&专家管理子系统\&后台维护\&容错性,成熟性\&]
由表1可知,该子模块涉及的子特性构成的辨识框架是{容错性,易改变性,易操作性,时间特性,准确性,安全保密性,互操作性,成熟性},根据证据理论可得如表3计算结果
表2 子特性可信度量化结果
[\&特性\&m\&Bel\&Pl\&[Bel,Pl]\&申报子系统\&安全保密性、容错性、时间特性\&0.11\&0.78\&0.78\&0\&容错性、时间特性\&0.67\&0.67\&0.78\&0.11\&易操作性、易改变性\&0.11\&0.11\&0.11\&0\&互操作性、准确性\&0.11\&0.11\&0.11\&0\&评审子系统\&安全保密性、容错性、时间特性\&0.2\&0.2\&0.6\&0.4\&准确性\&0.4\&0.2\&0.8\&0.6\&准确性、时间特性\&0.2\&0.6\&0.8\&0.2\&互操作性、准确性\&0.2\&0.4\&0.8\&0.4\&专家管理子系统\&安全保密性、容错性、时间特性\&0.25\&0.25\&0.5\&0.25\&易理解性、互操作性、准确性\&0.25\&0.25\&0.5\&0.25\&互操作性、时间特性\&0.25\&0.25\&0.5\&0.25\&成熟性、容错性\&0.25\&0.25\&0.5\&0.25\&]
根据表2的计算结果可知,该系统对申报子系统这一模块分配给了{容错性,时间特性}这一子特性组合最高的可信度0.67,评审子系统这一模块分配给了{准确性,时间特性}这一子特性组合最高的可信度0.4,专家管理子系统这一子模块分配给各个子特性组合的可信度平均。三个子模块均具有{安全保密性,容错性,时间特性}这一子特性组合,申报子系统与评审子系统均具有{互操作性,准确性}这一子特性组合,两个具有不同信任函数的子特性组合合成结果如下:
表3 证据合成结果
[子特性组合\&m1\&m2\&m3\&m123/m12\&安全保密性、容错性、时间特性\&0.11\&0.2\&0.25\&0.025\&互操作性、准确性\&0.11\&0.2\&\&0.055\&]
由上述结果表格可以看出,多个证据合成后该系统分配给{安全保密性、容错性、时间特性}的可信度为0.025,分配给{互操作性、准确性}的可信度为0.055,合成后可信度明显变小。
4 结束语
软件由不同模块构成,每个模块又细分了不同功能项,将功能表现出的子特性作为评估指标,运用证据理论对每个功能的可信度作出定量计算,以期获得对软件可信度的科学、客观的评估。但是由于软件规模不同,子特性或子特性组合可信度分配值及证据合成计算可能繁琐,使得整个评估略显复杂,且本文仅对软件的功能方面进行了可信评估,并不能全面地对整个软件可信评估。
参考文献:
[1] 陆鑫,廖建明.基于模糊集理论的软件质量评估研究[J].电子科技大学学报,2007,36(3):652-655.
[2] 鞠彦兵,冯允成,姚李刚.基于证据理论的软件开发风险评估方法[J].系统工程理论方法应用,2003,12(3):218-223.
[3] ISO/IEC JTC1/SC7/WG6,ISO/IEC 9126-1:Information technology-software quality characteristics and metrics and metrics-Part1:Quality model[S],2001.
[4] 周迪民,段国云.证据理论在不确定推理中的应用研究[J].计算机应用研究,2010,27(12):4433-4435.
[5] 王志刚,杨世松,赛尔江.证据理论在信息网络系统信任管理决策中的运用[J].信息系统工程.2012,10(20):56-58.endprint