仲曉敏, 趙雪峰
(淮海工學院 計算機工程學院,江蘇 連云港 222005)
基于模糊灰色關聯(lián)分析的軟件可信性評估方法
仲曉敏, 趙雪峰
(淮海工學院 計算機工程學院,江蘇 連云港 222005)
為了提高軟件可信性評估的準確性,提出了一種基于模糊灰色關聯(lián)分析的軟件可信性評估方法,該方法使用梯度模糊數(shù)計算各個可信指標的權重.首先計算出軟件可信指標的正、負理想值,然后使用灰色關聯(lián)分析方法計算出可信指標度量值對正、負理想值的灰色關聯(lián)度,依次計算出軟件可信性評估值.其中,通過模糊梯形數(shù)對可信評估指標的權重值進行處理.應用結果表明:所提方法對于軟件可信性的評估是有效的,結果具有較高的準確性.
軟件可信性評估; 可信指標; 正負理想點法; 梯形模糊數(shù); 灰色關聯(lián)分析
在軟件的正確性、可靠性、安全性、實時性等基礎上發(fā)展起來的“軟件可信性”,是指軟件系統(tǒng)滿足規(guī)定和隱含需求能力有關的所有特征和所有特性的總和[1].軟件可信性問題是隨著軟件規(guī)模增大而涌現(xiàn)出來的,以功能正確為首要目標的傳統(tǒng)軟件理論已經不適應,當前軟件基礎理論正處于一個轉型期——轉向以軟件可信性度量為基礎,全面考慮軟件需求分析、建模、生成、測試驗證、維護和演化等階段和運行支撐等方面的可信問題[2].對軟件可信性進行評估,在新的需求和環(huán)境下的軟件生產活動中,能夠有效地跟蹤控制和驗證實現(xiàn)可信性;而且能夠幫助預測軟件行為的可信性,減小軟件失效代價[3].
傳統(tǒng)軟件理論追求在效率和成本優(yōu)先的前提下構造出功能正確的系統(tǒng),但評估屬性單一,通常采用定性的方法進行評估,給出靜態(tài)確定性的結論.與之相比,軟件可信性評估需要考察包括正確性、可靠性、安全性等諸多屬性的綜合度量空間,既有定性又有定量,而且具有動態(tài)特征.國內外對軟件可信性評估的研究方興未艾,文獻[4]在軟件構件、體系結構、系統(tǒng)等3個層次進行軟件可信性評估;文獻[5]給出一種需求驅動的軟件可信性評估及演化模型;文獻[6]研究了基于SOA軟件系統(tǒng)可信性評價方法;文獻[7]提出了一種支持軟件資源可信評估的框架.概括而言,目前的方法主要有“基于模型”和“基于應用”,前者主要著眼于軟件架構模型,用于軟件交付之前的評估;后者偏重于軟件運行后得到的可信性證據(jù).
文中所提方法屬于基于應用的軟件可信性評估.綜合考慮軟件生命周期各個階段可信性證據(jù)的多屬性,以及大部分可信屬性值是“貧信息”的,且專家評估時的判斷具有很大的主觀模糊性,故將軟件可信性評估作為模糊灰色多屬性決策問題進行處理.
1.1 軟件可信性評估系統(tǒng)
在軟件可信性評估過程中,包括了可信證據(jù)采集、可信指標體系的建立、可信屬性度量、可信性評估算法,以及專家和用戶等,是一個完整的系統(tǒng),系統(tǒng)框架如圖1.
圖1 軟件可信性評估框架Fig.1 Software trustworthiness evaluation framework
軟件可信證據(jù)的采集貫穿軟件生命周期,只要與軟件相關的并能夠反映軟件某種可信屬性的數(shù)據(jù)、文檔或其他信息,都可以作為軟件可信證據(jù).在軟件的開發(fā)過程中的各類規(guī)范、評審和測試數(shù)據(jù),交付過程中的實體分析、測試獲得的數(shù)據(jù),應用過程中的用戶滿意度、第三方評估意見,都是有效的可信證據(jù).這些可信證據(jù)都具備3個特征:客觀性、關聯(lián)性和可獲得性.
軟件可信屬性是能夠描述和評價軟件系統(tǒng)可信的最直接的評估信息.可信屬性在內涵和形式上存在很大差異,通常有定性和定量之分.此外,有些屬性又可以細化為多個子屬性.軟件可信屬性的度量依據(jù)是軟件可信指標.
軟件可信性評估涉及眾多的指標,指標的相對重要性往往不是均一的,如何確定指標權重對于評估的有效性起著關鍵作用,通常組織專家、用戶來指定不同可信屬性的不同權重值.軟件可信性評估的核心在于評估算法,用以計算軟件系統(tǒng)的行為與用戶預期的行為和結果的程度,是決定評估結果準確性的關鍵技術.
1.2 軟件可信性評估指標體系
軟件可信評估指標體系是指若干個相互聯(lián)系的可信屬性及其度量值所組成的有機體.不同應用領域的軟件對可信性有著不同的需求,具體表現(xiàn)在所關注的軟件可信屬性的種類和關注程度不同;同一軟件的不同可信屬性之間也可能存在沖突.因此,在創(chuàng)建軟件可信評估指標體系的時候,根據(jù)軟件產品本身的特點、領域、規(guī)模等因素來最優(yōu)化地對可信性屬性進行協(xié)調與取舍是一個不可輕視的關鍵環(huán)節(jié).
目前有很多研究針對軟件可信指標體系的構建.為能實時有效地度量軟件可信性的變化情況,文獻[8]提出了一種基于Pi演算的軟件可信性度量方法;文獻[9]則通過計算系統(tǒng)調用上下文值以及構造系統(tǒng)調用參數(shù)關系約束規(guī)則來評測行為軌跡和檢查點場景的偏離程度,構建了基于軟件行為自動機的動態(tài)可信指標體系.
考慮到軟件可信屬性測量和度量的可操作性,以及不同軟件可信性評估共同關注度最高的可信特性,選擇了可用性、可靠性、安全性、實時性、可維護性等作為一級指標,各一級指標又分為若干二級指標.整個可信評估指標體系[10]如圖2.
圖2 軟件可信性評估指標體系Fig.2 Indices for software trustworthiness evalutation
2.1 軟件可信評估指標的描述及正副理想點的計算
因為大部分軟件可信性評估指標值都難以完全采集到,故軟件可信性評估是“小樣本”、“貧信息”的不確定系統(tǒng).以灰數(shù)向量Gj∈G(j=1,2,…,n)表示軟件可信屬性,Ai∈A(i=1,2,…,m)表示待評估軟件.Ai關于Gj的屬性值sij,從而構成可信性評估矩陣S=(sij)m×n.S的各評價元素中既有越大越好的效益型指標,又有越小越好的成本型指標,而且不同指標值具有不同的量綱.使用效用函數(shù)對它們進行歸一化處理以消除對評價結果的影響,得到矩陣R=(rij)m×n.
(1)
使用正負理想點方法獲得評估參考指標序列,即取各指標的最大值構成正理想點,取各指標的最小值構成負理想點;將正理想點和負理想點作為評估參考.
(2)
2.2 利用梯形模糊數(shù)計算可信屬性權重
基于灰色關聯(lián)分析法進行軟件可信性評估,由于可信評估指標體系中的不同可信屬性有不同的權重,并由專家給出,而專家在評估時作出的判斷具有很大的主觀模糊性,且權重的描述沒有明確的邊界,從而造成了不確定性及模糊性.針對傳統(tǒng)灰色關聯(lián)分析模型權重分配和確定存在的問題,權重計算的方法很多,如主成分分析法、權重因子法以及層次分析法等,這些方法大致歸類為主觀賦權法、客觀賦權法兩大類.主觀賦權法由專家憑借經驗給出權重,顯然其權重值帶有主觀性,很難客觀地反映實際情況,此類中以層次分析法為代表,該方法通過求解判斷矩陣最大特征根與其相對應的特征向量,從而決定某一屬性的排序權值,其中判斷矩陣通過對兩兩屬性之間的重要性進行比較得到;但是受到人類思維判斷的模糊性和客觀對象的復雜性影響,很難用定量的數(shù)據(jù)來對兩兩屬性重要性比較的結果進行賦值.客觀賦權法是對量化后的數(shù)據(jù)進行數(shù)值處理得到權重,其優(yōu)勢是有良好的數(shù)學理論基礎,劣勢是處理的數(shù)據(jù)量巨大,譬如主成分分析法通過變量變換的方法把相關的屬性數(shù)據(jù)變?yōu)槿舾刹幌嚓P的綜合指標變量,以此對數(shù)據(jù)集進行降維處理,簡化問題,但仍然避免不了巨量的樣本數(shù)據(jù),使得在實際應用時通用性較差.與上述方法相比,梯形模糊數(shù)方法能反映專家評判的模糊性和不確定性,無需大量歷史統(tǒng)計數(shù)據(jù),并且不用對指標進行兩兩比較且構造判斷矩陣.
在實數(shù)域上的模糊集F中,存在a
(3)
(4)
表1 權重的模糊詞匯和模糊數(shù)隸屬函數(shù)的自變量Table 1 Weight fuzzy words and fuzzy membershipfunctions of independent variable
設專家的樂觀系數(shù)為0.5[11],則:
(5)
采用式(6)將模糊權重歸一化,構建權重向量.
(6)
2.3 灰色關聯(lián)分析
(7)
然后計算軟件可信屬性集對正、負理想可信屬性集的關聯(lián)系數(shù)為:
(8)
(9)
軟件可信性越高,則其可信屬性集與正理想可信屬性集的關聯(lián)度最大,而對負理想可信屬性集的關聯(lián)度最小.將軟件可信屬性集對正理想可信屬性集的關聯(lián)度β+和對負理想可信屬性集的關聯(lián)度β-進行綜合,即:
(10)
β作為軟件可信性評估值.根據(jù)β與各個軟件可信等級的值進行比較,確定待評估軟件的可信性等級.
某電信公司需求的“機房自適應溫控軟件”對可靠性、實時性等可信屬性有較高要求.項目組分別使用匯編,C,Java語言,采用自頂向下結構化開發(fā)了A1,A2,A33套嵌入式軟件.根據(jù)軟件的可信性要求,選擇或者參考了圖2中部分指標作為該軟件可信性的評估指標,建立可信性評估指標體系(表2).
表2 “機房自適應溫控軟件”可信性評估指標體系Table 2 Temperature adjustment and control softwarefor equipment room based on trustworthinessevaluation system
步驟一:計算評估指標的權重向量.以計算I1下3個二級評估指標為例,表3列舉了3位專家給予的權重、由式(4)計算得到專家組綜合權重、由式(5)計算得到模糊權重,以及由式(6)規(guī)范化后的權重值.
最終權重向量:W1=(w11,w12,w13)=(0.417,0.312,0.271);依次操作,其它各二級評估指標的權重向量同樣可得.把與一級評估指標相對應的各組二級評估指標的權重與1/6相乘,得到二級評估指標的綜合權重矢量,以W=(W1,W2,…,Wn)表示;其中n=13,為二級評估指標的個數(shù).
表3 可用性二級評估指標權重計算Table 3 Availability of secondary evaluation index weight calculation
步驟二:度量軟件Ai(i=1,2,3)的各個可信屬性值,得到相應的灰數(shù)向量Gj∈G(j=1,2,…,n);從而構成可信性評估矩陣S3×13:
利用式(1)對矩陣S3×13歸一化,其中I21,I41,I51等幾個可信評估指標為成本型,其它的為效益型.歸一化結果為:
R3×13=
步驟三:根據(jù)式(2)確定正、負理想點.
步驟四:根據(jù)式(7~10)計算Ai與理想方案的綜合關聯(lián)度,得到β=(β1,β2,β3)=(0.922,0.935,0.929).由于β2=0.935最接近1,表明軟件A3的可信性最高,與文獻[4]的評估結果完全一致.
在軟件可信性評估中,可信屬性的度量值往往是不完備的,用灰色關聯(lián)分析方法提高評估的準確性.為減小專家在指標權重賦值的主觀因素,采用了梯形模糊數(shù).用文中方法對具體軟件的可信性評估,表明該方法不但有效、結果合理,而且計算量適度,可以作為軟件可信性評估的使用方法.評估中選擇的指標種類不同,會使關聯(lián)度的大小發(fā)生變化,從而影響最終結果,因此在使用文中方法進行評估時,應該針對具體軟件的可信需求選用合適的評估指標.
References)
[1] 梅宏,曹東剛.軟件可信性:互聯(lián)網帶來的挑戰(zhàn)[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].計算機研究與發(fā)展,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 軟件系統(tǒng)可信性評價方法研究[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] 楊曉暉, 周學海, 田俊峰, 等. 一個新的軟件行為動態(tài)可信評測模型[J]. 小型微型計算機系統(tǒng), 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]軟件可信證據(jù)框架規(guī)范[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] 牟瓊,楊春德.一種基于梯形模糊數(shù)互補判斷矩陣確定權重的方法[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