仲晓敏, 赵雪峰
(淮海工学院 计算机工程学院,江苏 连云港 222005)
基于模糊灰色关联分析的软件可信性评估方法
仲晓敏, 赵雪峰
(淮海工学院 计算机工程学院,江苏 连云港 222005)
为了提高软件可信性评估的准确性,提出了一种基于模糊灰色关联分析的软件可信性评估方法,该方法使用梯度模糊数计算各个可信指标的权重.首先计算出软件可信指标的正、负理想值,然后使用灰色关联分析方法计算出可信指标度量值对正、负理想值的灰色关联度,依次计算出软件可信性评估值.其中,通过模糊梯形数对可信评估指标的权重值进行处理.应用结果表明:所提方法对于软件可信性的评估是有效的,结果具有较高的准确性.
软件可信性评估; 可信指标; 正负理想点法; 梯形模糊数; 灰色关联分析
在软件的正确性、可靠性、安全性、实时性等基础上发展起来的“软件可信性”,是指软件系统满足规定和隐含需求能力有关的所有特征和所有特性的总和[1].软件可信性问题是随着软件规模增大而涌现出来的,以功能正确为首要目标的传统软件理论已经不适应,当前软件基础理论正处于一个转型期——转向以软件可信性度量为基础,全面考虑软件需求分析、建模、生成、测试验证、维护和演化等阶段和运行支撑等方面的可信问题[2].对软件可信性进行评估,在新的需求和环境下的软件生产活动中,能够有效地跟踪控制和验证实现可信性;而且能够帮助预测软件行为的可信性,减小软件失效代价[3].
传统软件理论追求在效率和成本优先的前提下构造出功能正确的系统,但评估属性单一,通常采用定性的方法进行评估,给出静态确定性的结论.与之相比,软件可信性评估需要考察包括正确性、可靠性、安全性等诸多属性的综合度量空间,既有定性又有定量,而且具有动态特征.国内外对软件可信性评估的研究方兴未艾,文献[4]在软件构件、体系结构、系统等3个层次进行软件可信性评估;文献[5]给出一种需求驱动的软件可信性评估及演化模型;文献[6]研究了基于SOA软件系统可信性评价方法;文献[7]提出了一种支持软件资源可信评估的框架.概括而言,目前的方法主要有“基于模型”和“基于应用”,前者主要着眼于软件架构模型,用于软件交付之前的评估;后者偏重于软件运行后得到的可信性证据.
文中所提方法属于基于应用的软件可信性评估.综合考虑软件生命周期各个阶段可信性证据的多属性,以及大部分可信属性值是“贫信息”的,且专家评估时的判断具有很大的主观模糊性,故将软件可信性评估作为模糊灰色多属性决策问题进行处理.
1.1 软件可信性评估系统
在软件可信性评估过程中,包括了可信证据采集、可信指标体系的建立、可信属性度量、可信性评估算法,以及专家和用户等,是一个完整的系统,系统框架如图1.
图1 软件可信性评估框架Fig.1 Software trustworthiness evaluation framework
软件可信证据的采集贯穿软件生命周期,只要与软件相关的并能够反映软件某种可信属性的数据、文档或其他信息,都可以作为软件可信证据.在软件的开发过程中的各类规范、评审和测试数据,交付过程中的实体分析、测试获得的数据,应用过程中的用户满意度、第三方评估意见,都是有效的可信证据.这些可信证据都具备3个特征:客观性、关联性和可获得性.
软件可信属性是能够描述和评价软件系统可信的最直接的评估信息.可信属性在内涵和形式上存在很大差异,通常有定性和定量之分.此外,有些属性又可以细化为多个子属性.软件可信属性的度量依据是软件可信指标.
软件可信性评估涉及众多的指标,指标的相对重要性往往不是均一的,如何确定指标权重对于评估的有效性起着关键作用,通常组织专家、用户来指定不同可信属性的不同权重值.软件可信性评估的核心在于评估算法,用以计算软件系统的行为与用户预期的行为和结果的程度,是决定评估结果准确性的关键技术.
1.2 软件可信性评估指标体系
软件可信评估指标体系是指若干个相互联系的可信属性及其度量值所组成的有机体.不同应用领域的软件对可信性有着不同的需求,具体表现在所关注的软件可信属性的种类和关注程度不同;同一软件的不同可信属性之间也可能存在冲突.因此,在创建软件可信评估指标体系的时候,根据软件产品本身的特点、领域、规模等因素来最优化地对可信性属性进行协调与取舍是一个不可轻视的关键环节.
目前有很多研究针对软件可信指标体系的构建.为能实时有效地度量软件可信性的变化情况,文献[8]提出了一种基于Pi演算的软件可信性度量方法;文献[9]则通过计算系统调用上下文值以及构造系统调用参数关系约束规则来评测行为轨迹和检查点场景的偏离程度,构建了基于软件行为自动机的动态可信指标体系.
考虑到软件可信属性测量和度量的可操作性,以及不同软件可信性评估共同关注度最高的可信特性,选择了可用性、可靠性、安全性、实时性、可维护性等作为一级指标,各一级指标又分为若干二级指标.整个可信评估指标体系[10]如图2.
图2 软件可信性评估指标体系Fig.2 Indices for software trustworthiness evalutation
2.1 软件可信评估指标的描述及正副理想点的计算
因为大部分软件可信性评估指标值都难以完全采集到,故软件可信性评估是“小样本”、“贫信息”的不确定系统.以灰数向量Gj∈G(j=1,2,…,n)表示软件可信属性,Ai∈A(i=1,2,…,m)表示待评估软件.Ai关于Gj的属性值sij,从而构成可信性评估矩阵S=(sij)m×n.S的各评价元素中既有越大越好的效益型指标,又有越小越好的成本型指标,而且不同指标值具有不同的量纲.使用效用函数对它们进行归一化处理以消除对评价结果的影响,得到矩阵R=(rij)m×n.
(1)
使用正负理想点方法获得评估参考指标序列,即取各指标的最大值构成正理想点,取各指标的最小值构成负理想点;将正理想点和负理想点作为评估参考.
(2)
2.2 利用梯形模糊数计算可信属性权重
基于灰色关联分析法进行软件可信性评估,由于可信评估指标体系中的不同可信属性有不同的权重,并由专家给出,而专家在评估时作出的判断具有很大的主观模糊性,且权重的描述没有明确的边界,从而造成了不确定性及模糊性.针对传统灰色关联分析模型权重分配和确定存在的问题,权重计算的方法很多,如主成分分析法、权重因子法以及层次分析法等,这些方法大致归类为主观赋权法、客观赋权法两大类.主观赋权法由专家凭借经验给出权重,显然其权重值带有主观性,很难客观地反映实际情况,此类中以层次分析法为代表,该方法通过求解判断矩阵最大特征根与其相对应的特征向量,从而决定某一属性的排序权值,其中判断矩阵通过对两两属性之间的重要性进行比较得到;但是受到人类思维判断的模糊性和客观对象的复杂性影响,很难用定量的数据来对两两属性重要性比较的结果进行赋值.客观赋权法是对量化后的数据进行数值处理得到权重,其优势是有良好的数学理论基础,劣势是处理的数据量巨大,譬如主成分分析法通过变量变换的方法把相关的属性数据变为若干不相关的综合指标变量,以此对数据集进行降维处理,简化问题,但仍然避免不了巨量的样本数据,使得在实际应用时通用性较差.与上述方法相比,梯形模糊数方法能反映专家评判的模糊性和不确定性,无需大量历史统计数据,并且不用对指标进行两两比较且构造判断矩阵.
在实数域上的模糊集F中,存在a
(3)
(4)
表1 权重的模糊词汇和模糊数隶属函数的自变量Table 1 Weight fuzzy words and fuzzy membershipfunctions of independent variable
设专家的乐观系数为0.5[11],则:
(5)
采用式(6)将模糊权重归一化,构建权重向量.
(6)
2.3 灰色关联分析
(7)
然后计算软件可信属性集对正、负理想可信属性集的关联系数为:
(8)
(9)
软件可信性越高,则其可信属性集与正理想可信属性集的关联度最大,而对负理想可信属性集的关联度最小.将软件可信属性集对正理想可信属性集的关联度β+和对负理想可信属性集的关联度β-进行综合,即:
(10)
β作为软件可信性评估值.根据β与各个软件可信等级的值进行比较,确定待评估软件的可信性等级.
某电信公司需求的“机房自适应温控软件”对可靠性、实时性等可信属性有较高要求.项目组分别使用汇编,C,Java语言,采用自顶向下结构化开发了A1,A2,A33套嵌入式软件.根据软件的可信性要求,选择或者参考了图2中部分指标作为该软件可信性的评估指标,建立可信性评估指标体系(表2).
表2 “机房自适应温控软件”可信性评估指标体系Table 2 Temperature adjustment and control softwarefor equipment room based on trustworthinessevaluation system
步骤一:计算评估指标的权重向量.以计算I1下3个二级评估指标为例,表3列举了3位专家给予的权重、由式(4)计算得到专家组综合权重、由式(5)计算得到模糊权重,以及由式(6)规范化后的权重值.
最终权重向量:W1=(w11,w12,w13)=(0.417,0.312,0.271);依次操作,其它各二级评估指标的权重向量同样可得.把与一级评估指标相对应的各组二级评估指标的权重与1/6相乘,得到二级评估指标的综合权重矢量,以W=(W1,W2,…,Wn)表示;其中n=13,为二级评估指标的个数.
表3 可用性二级评估指标权重计算Table 3 Availability of secondary evaluation index weight calculation
步骤二:度量软件Ai(i=1,2,3)的各个可信属性值,得到相应的灰数向量Gj∈G(j=1,2,…,n);从而构成可信性评估矩阵S3×13:
利用式(1)对矩阵S3×13归一化,其中I21,I41,I51等几个可信评估指标为成本型,其它的为效益型.归一化结果为:
R3×13=
步骤三:根据式(2)确定正、负理想点.
步骤四:根据式(7~10)计算Ai与理想方案的综合关联度,得到β=(β1,β2,β3)=(0.922,0.935,0.929).由于β2=0.935最接近1,表明软件A3的可信性最高,与文献[4]的评估结果完全一致.
在软件可信性评估中,可信属性的度量值往往是不完备的,用灰色关联分析方法提高评估的准确性.为减小专家在指标权重赋值的主观因素,采用了梯形模糊数.用文中方法对具体软件的可信性评估,表明该方法不但有效、结果合理,而且计算量适度,可以作为软件可信性评估的使用方法.评估中选择的指标种类不同,会使关联度的大小发生变化,从而影响最终结果,因此在使用文中方法进行评估时,应该针对具体软件的可信需求选用合适的评估指标.
References)
[1] 梅宏,曹东刚.软件可信性:互联网带来的挑战[J]. 中国计算机学会通讯,2010,6(2):20-27.
[2] 刘克, 单志广, 王戟, 等. “可信软件基础研究”重大研究计划综述[J]. 中国科学基金,2008(3):145-151. Liu Ke,Shan Zhiguang, Wang Ji.Overview on major research plan of trustworthy software[J].BulletinofNationalNaturalScienceFoundationofChina,2008(3):145-151.(in Chinese)
[3] Hasselbring W,Reussner R.Toward trustworthy software systems[J].IEEEComputer, 2006,39(4):91-92.
[4] Immonen A,Palviainen M.Trustworthiness evaluation and testing of open source components[C]∥QSIC07ProceedingsoftheSeventhInternationalConferenceonQualitySoftware. DC, USA:IEEE Computer Society Washington,2007:316-321.
[5] 丁帅,鲁付俊,杨善林,等.一种需求驱动的软件可信性评估及演化模型[J].计算机研究与发展,2011,48(4):647-655. Ding Shuai,Lu Fujun,Yang Shanlin,et al.A Requirement-driven software trustworthiness evaluation and evolution model[J].JournalofComputerResearchandDevelopment,2011,48(4):647-655. (in Chinese)
[6] 赵会群,孙晶.一种SOA 软件系统可信性评价方法研究[J].计算机学报,2010,33(11):2202-2210. Zhao Huiqun,Sun Jing.A methodological study of evaluating the dependability of SOA software system[J].ChineseJournalofComputers,2010,33(11):2202-2210. (in Chinese)
[7] 蔡斯博, 邹艳珍, 邵凌霜, 等. 一种支持软件资源可信评估的框架[J]. 软件学报, 2010(2):359-372. Cai Sibo,Zou Yanzhen,Shao Lingshuang,et al.Framework supporting software assets evaluation on trustworthiness[J].JournalofSoftware, 2010(2):359-372. (in Chinese)
[8] 赵倩, 王慧强, 冯光升,等. 基于Pi演算的软件可信性度量方法[J]. 吉林大学学报:工学版, 2011,41(6):1685-1689. Zhao Qian,Wang Huiqiang,Feng Guangsheng,et al.Measuring method of software dependability based on Pi calculus[J].JournalofJilinUniversity:EngineeringandTechnologyEdition, 2011,41(6):1685-1689. (in Chinese)
[9] 杨晓晖, 周学海, 田俊峰, 等. 一个新的软件行为动态可信评测模型[J]. 小型微型计算机系统, 2010,31(11):2113-2120. Yang Xiaohui,Zhou Xuehai,Tian Junfeng,et al.Novel dynamic trusted evaluation model of software behavior[J].JournalofChineseComputerSystems,2010,31(11):2113-2120. (in Chinese)
[10] 刘旭东,孙海龙,谢冰,等.[TRUSTIE-STE]软件可信证据框架规范[V2.0][EB/OL]. [2009-05-30]. http://www.trustie.com/UserFiles/File/trustie-v2.0/[TRUSTIE-STE]%E8%BD%AF%E4%BB%B6%E5%8F%AF%E4%BF%A1%E8%AF%81%E6%8D%AE%E6%A1%86%E6%9E%B6%E8%A7%84%E8%8C%83[V2.0]-%E6%B0%B4%E5%8D%B0.pdf.
[11] 牟琼,杨春德.一种基于梯形模糊数互补判断矩阵确定权重的方法[J]. 重庆邮电学院学报:自然科学版,2006,18(6):809-812. Mu Qiong,Yang Chunde.Method of determining weights based on complementary judgement matrix with trapezium fuzzy numbers[J].JournalofChongqingUniversityofPostsandTelecommunications:NaturalScience, 2006,18(6):809-812. (in Chinese)
(责任编辑:曹 莉)
Methodforsoftwaretrustworthinessevaluationbasedonfuzzygreyrelationalanalysis
Zhong Xiaomin, Zhao Xuefeng
(College of Computer Engineering, Huaihai Institute of Technology, Lianyungang Jiangsu 222005, China)
In order to improve the accuracy of software trustworthiness evaluation, a method is proposed based on fuzzy grey relational analysis, and the weights of the evaluation indicators for software trustworthiness are calculated by trapezoidal fuzzy number method. First, the positive and negative ideal values of trustworthy indicators are calculated from the positive and negative ideal points. Then, the trustworthiness for software is computed through fuzzy grey relational analysis, and software trustworthiness evaluation values are calculated, especially, the weights of the evaluation indicators for software trustworthiness are calculated through trapezoidal fuzzy number method. Application results show that the proposed method is effective and highly accurate, and does not cause much computational burden.
software trustworthiness evaluation; trusted indicator; positive and negative ideal point; trapezoidal fuzzy numbers; grey relational analysis
10.3969/j.issn.1673-4807.2014.04.019
2014-08-05
国家自然科学基金资助项目(40806011)
仲晓敏(1977—) ,女,讲师, 硕士,研究方向为软件工程、人工智能.E-mail:zhongxiaomin130@139.com
TP311
A
1673-4807(2014)04-0403-06