袁 霖,王懷民,尹 剛,史殿習(xí),米海波
(1.國(guó)防科學(xué)技術(shù)大學(xué)計(jì)算機(jī)學(xué)院,長(zhǎng)沙 410073;2.信息工程大學(xué)電子技術(shù)學(xué)院,鄭州 450004)
基于角色的軟件可信評(píng)估技術(shù)
袁 霖1,2,王懷民1,尹 剛1,史殿習(xí)1,米海波1
(1.國(guó)防科學(xué)技術(shù)大學(xué)計(jì)算機(jī)學(xué)院,長(zhǎng)沙 410073;2.信息工程大學(xué)電子技術(shù)學(xué)院,鄭州 450004)
針對(duì)軟件可信評(píng)估中可信證據(jù)的選擇和使用問(wèn)題,從項(xiàng)目參與角色構(gòu)成的角度,通過(guò)對(duì)世界著名開(kāi)源社區(qū)SourceForge中近1萬(wàn)個(gè)真實(shí)項(xiàng)目的研究,發(fā)現(xiàn)并證實(shí)了項(xiàng)目角色的配置與軟件可信性之間確實(shí)存在巨大的相關(guān)性,為一部分軟件可信屬性的量化和自動(dòng)化評(píng)估提供了重要依據(jù)和基礎(chǔ).
可信軟件;可信評(píng)估模型;可信證據(jù);角色
自20世紀(jì)70年代初期,Anderson首次提出可信系統(tǒng)(trusted system)的概念以來(lái),信息系統(tǒng)的可信性問(wèn)題就一直受到學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注.
多年來(lái),從不同的角度,人們對(duì)于可信的概念提出了很多不同的表述:從系統(tǒng)的角度,ISO/IEC 15408標(biāo)準(zhǔn)將可信定義為:一個(gè)可信(trusted)的組件、操作或過(guò)程的行為在任意操作條件下是可預(yù)測(cè)的,并能很好地抵抗應(yīng)用軟件、病毒以及一定的物理干擾造成的破壞;可信計(jì)算組織認(rèn)為:如果一個(gè)實(shí)體總是按照其設(shè)定目標(biāo)所期望的方式行事,則稱(chēng)這個(gè)實(shí)體為可信的;從用戶(hù)體驗(yàn)的角度,微軟公司的比爾·蓋茨認(rèn)為可信計(jì)算是一種可以隨時(shí)獲得的可靠安全的計(jì)算,并包括人類(lèi)信任計(jì)算機(jī)的程度.
而所謂“可信軟件”,通常是指那些運(yùn)行行為及其結(jié)果總是符合人們預(yù)期的軟件,在受到干擾時(shí)仍能提供連續(xù)的服務(wù)[1].因此可信軟件概念的出現(xiàn),使得可信軟件不再局限于對(duì)軟件傳統(tǒng)的可靠性、可維性、可用性、安全性等方面進(jìn)行分析,而試圖從更廣泛的意義上對(duì)軟件進(jìn)行評(píng)估.
可信證據(jù)是指經(jīng)過(guò)查證確定屬實(shí),并能用來(lái)證明軟件資源質(zhì)量真實(shí)情況的證據(jù),必須具備以下3個(gè)特征[2]:1)客觀性,即證據(jù)是不以人們的意志為轉(zhuǎn)移的客觀存在的事實(shí),這是證據(jù)的本質(zhì)特征;2)關(guān)聯(lián)性,或稱(chēng)相關(guān)性,是指證據(jù)和需要證明的質(zhì)量可信度間有一定的關(guān)系或聯(lián)系;3)可獲得性,是指證據(jù)是可以依照確定的程序收集、審查、判斷、獲得和檢驗(yàn)的.軟件參與人員的角色信息符合上述3個(gè)特征,應(yīng)當(dāng)可以作為評(píng)估軟件可信屬性的一種證據(jù)而使用.但這種信息如何合理有效地反映到具體的軟件可信屬性上,目前無(wú)論國(guó)際還是國(guó)內(nèi),尚沒(méi)有看到相關(guān)類(lèi)似研究.
在開(kāi)源領(lǐng)域,對(duì)軟件可信性的研究主要集中在軟件的成熟度方面,目前具有較大影響的主要是卡耐基梅隆大學(xué)軟件工程研究所的BRR模型[3]和歐洲AtosOrigin公司的QSOS評(píng)估模型[4].國(guó)內(nèi)的開(kāi)源中國(guó)社區(qū)也提出了一種“開(kāi)放源代碼軟件成熟度評(píng)估”模型[5].這些模型中,雖然評(píng)估的具體屬性不太一樣,但評(píng)估過(guò)程與方法基本相同,主要依靠評(píng)估人員打分和預(yù)定義的權(quán)重的方法,計(jì)算整個(gè)軟件項(xiàng)目的可信分值.這種評(píng)估方法存在一些問(wèn)題,如軟件的易用性、應(yīng)用范圍等屬性,評(píng)分標(biāo)準(zhǔn)主觀性太強(qiáng),與軟件使用者的個(gè)人感受和習(xí)慣密切相關(guān),且不易度量,無(wú)法客觀準(zhǔn)確地量化.
通過(guò)對(duì)上述軟件評(píng)估模型的研究發(fā)現(xiàn),在各個(gè)模型中確實(shí)存在一些屬性,如文檔質(zhì)量、測(cè)試水平、應(yīng)用范圍、易用性、代碼質(zhì)量等,應(yīng)當(dāng)能通過(guò)參與軟件項(xiàng)目的人員角色配置及人員個(gè)人能力反映出來(lái).因此,通過(guò)項(xiàng)目的角色配置和人員能力在一定程度上對(duì)軟件項(xiàng)目的部分可信屬性進(jìn)行評(píng)估的思想應(yīng)當(dāng)是可行的.
在軟件開(kāi)發(fā)人員結(jié)構(gòu)研究方面,該領(lǐng)域代表性的工作是Mockus[6]通過(guò)對(duì)開(kāi)發(fā)人員代碼貢獻(xiàn)量的分析,提出了軟件項(xiàng)目開(kāi)發(fā)人員具有類(lèi)似于“洋蔥”式的結(jié)構(gòu),大約20%開(kāi)發(fā)人員貢獻(xiàn)了超過(guò)80%的代碼.Crowston等[7]從軟件開(kāi)發(fā)的協(xié)同性考慮,發(fā)現(xiàn)軟件開(kāi)發(fā)過(guò)程中,一般只有少部分項(xiàng)目具有高集中性結(jié)構(gòu),少部分項(xiàng)目是完全分布式結(jié)構(gòu),大部分處于中間狀態(tài)(基本服從正態(tài)分布).Gregorio等[8]通過(guò)對(duì)軟件開(kāi)發(fā)核心團(tuán)隊(duì)的演化過(guò)程進(jìn)行研究,發(fā)現(xiàn)軟件開(kāi)發(fā)人員的變化存在2個(gè)模式:code gods模式以及generations模式.每個(gè)時(shí)期最活躍的成員集合被定義為核心團(tuán)隊(duì).code gods模式是指核心團(tuán)隊(duì)較穩(wěn)定的模式,generations模式是指核心團(tuán)隊(duì)變化較大,基本是一代代傳遞的模式.
上述的研究結(jié)論反映出,項(xiàng)目開(kāi)發(fā)過(guò)程中確實(shí)存在著一定數(shù)量的、穩(wěn)定的項(xiàng)目協(xié)作團(tuán)隊(duì).這為利用項(xiàng)目人員角色配置和人員能力對(duì)項(xiàng)目可信性進(jìn)行評(píng)估的思路奠定了良好的基礎(chǔ).
由于教育模式對(duì)創(chuàng)造性思維的抹殺、傳統(tǒng)思維習(xí)慣的制約、動(dòng)畫(huà)人對(duì)動(dòng)畫(huà)藝術(shù)理解的狹隘、動(dòng)畫(huà)片受眾定位的低齡化和國(guó)外加工行業(yè)的薪資誘惑等原因,導(dǎo)致目前中國(guó)動(dòng)畫(huà)劇本存在的最大問(wèn)題是缺乏創(chuàng)意。中國(guó)動(dòng)畫(huà)要想打開(kāi)國(guó)內(nèi)市場(chǎng),走進(jìn)國(guó)際市場(chǎng),擁有既傳統(tǒng)又現(xiàn)代、既本土化又全球化的特色,首先要給予重視的就是找尋動(dòng)畫(huà)劇本的創(chuàng)意。
SourceForge是國(guó)際最著名的開(kāi)源軟件社區(qū)之一,截止到2009年11月,其注冊(cè)項(xiàng)目接近23萬(wàn)個(gè),注冊(cè)人數(shù)超過(guò)200萬(wàn)個(gè).除提供支持開(kāi)源軟件開(kāi)發(fā)的平臺(tái)外,該組織還提供大量覆蓋軟件整個(gè)生命周期的真實(shí)的項(xiàng)目數(shù)據(jù),供學(xué)術(shù)研究使用.目前,國(guó)內(nèi)外很多研究工作都是以該社區(qū)項(xiàng)目數(shù)據(jù)為基礎(chǔ)進(jìn)行的.
對(duì)SourceForge中注冊(cè)項(xiàng)目進(jìn)行初步分析,項(xiàng)目所處狀態(tài)如表1所示.
在SourceForge社區(qū)中,項(xiàng)目的推薦和排名是通過(guò)對(duì)項(xiàng)目近期活躍程度進(jìn)行量化.一般情況下,排名靠前的項(xiàng)目已經(jīng)獲得了較大范圍的應(yīng)用和更好的認(rèn)同度.從軟件可信的角度出發(fā),排名在一定程度上代表了更好的“可信性”.
為使數(shù)據(jù)具備更好的普遍性和可比性,選取排名前1萬(wàn)名,處于Beta、Production/Stable、Mature狀態(tài),總計(jì)7 779個(gè)真實(shí)項(xiàng)目作為研究對(duì)象.
通過(guò)對(duì)上述所有待研究項(xiàng)目統(tǒng)計(jì)與分析,參與項(xiàng)目的所有人員角色種類(lèi)共有27種:顧問(wèn)、兼職人員、分析設(shè)計(jì)人員、編譯工程師、內(nèi)容管理員、數(shù)據(jù)庫(kù)管理員、程序員、運(yùn)營(yíng)主管、發(fā)布者/贊助人、文檔人員、內(nèi)容編輯、圖形設(shè)計(jì)人員、包裝者、跨平臺(tái)開(kāi)發(fā)人員、項(xiàng)目管理員、需求工程師、研究人員、客戶(hù)支持人員、客戶(hù)支持經(jīng)理、技術(shù)支持人員、測(cè)試人員、翻譯人員、系統(tǒng)程序員、Unix管理員、用戶(hù)接口設(shè)計(jì)人員、多媒體支持人員、Web設(shè)計(jì)人員.
表1 開(kāi)源項(xiàng)目狀態(tài)描述Table 1 The status of open source p rojects
所有參與項(xiàng)目的人員中,所占比例最多的是開(kāi)發(fā)人員(66%),其次是項(xiàng)目管理員(19%),再次是多任務(wù)型人員(5%),測(cè)試人員(2%),管理員、翻譯人員、包裝人員、文檔人員、圖形設(shè)計(jì)人員各占1%,其余角色所占比例都較小,沒(méi)有超過(guò)1%.
為進(jìn)一步研究項(xiàng)目擁有角色與項(xiàng)目排名之間的關(guān)系,分別對(duì)排名在1萬(wàn)和1 000之內(nèi)的項(xiàng)目角色進(jìn)行統(tǒng)計(jì),分析結(jié)果如圖1、圖2所示.
圖1 排名前1萬(wàn)項(xiàng)目角色分布情況Fig.1 Role numbers of projects in rank[1,10 000]
圖2 排名前1000項(xiàng)目角色分布情況Fig.2 Role numbers of projects in rank[1,1 000]
通過(guò)圖1的分析,可發(fā)現(xiàn)如下現(xiàn)象:
1)SourceForge社區(qū)中很大一部分項(xiàng)目只有1或2個(gè)角色,而只有極個(gè)別項(xiàng)目擁有角色個(gè)數(shù)超過(guò)7個(gè);2)對(duì)比排名的各個(gè)區(qū)間(橫坐標(biāo)),在1~1 000內(nèi),超過(guò)3個(gè)角色的項(xiàng)目比例明顯高于其他區(qū)間,并且這種比例隨著排名的靠后有下降趨勢(shì);3)對(duì)比擁有相同角色個(gè)數(shù)的項(xiàng)目情況(縱坐標(biāo)),擁有1~2種角色的項(xiàng)目,排名靠前(如1~1 000)的項(xiàng)目所占比例明顯低于靠后區(qū)間的項(xiàng)目比例;而擁有超過(guò)3個(gè)角色的項(xiàng)目,在排名靠前的區(qū)間(如1~1000)中項(xiàng)目所占比例高于靠后的區(qū)間.
對(duì)排名1~1 000之內(nèi)項(xiàng)目進(jìn)行考察(見(jiàn)圖2),同樣可以發(fā)現(xiàn)如上規(guī)律.
基于上述統(tǒng)計(jì)結(jié)果,由于只有極個(gè)別項(xiàng)目擁有超過(guò)7種角色類(lèi)型,在不影響分析有效性的情況下,只考慮角色個(gè)數(shù)處在1~7范圍內(nèi)的項(xiàng)目情況.擁有相同角色個(gè)數(shù)的項(xiàng)目排名分布情況如圖3、圖4所示.
圖3 排名1~5 000角色分布比例圖Fig.3 Distribution of projects based on number of roles in rank 1~5 000
從圖3、4可以發(fā)現(xiàn):隨著項(xiàng)目角色個(gè)數(shù)增加(橫坐標(biāo)),處于排名靠前區(qū)間的項(xiàng)目所占比例也在增大.對(duì)數(shù)據(jù)進(jìn)一步分析,計(jì)算各個(gè)區(qū)間項(xiàng)目的平均角色個(gè)數(shù)為
圖4 排名1~1 000角色分布比例圖Fig.4 Distribution of p rojects based on number of roles in rank 1~1000
其中,Nproj_num表示區(qū)間內(nèi)項(xiàng)目總數(shù);Ni為區(qū)間內(nèi)項(xiàng)目i的角色個(gè)數(shù),可以發(fā)現(xiàn)隨著排名區(qū)間后移,項(xiàng)目平均角色個(gè)數(shù)有下降趨勢(shì),分析結(jié)果見(jiàn)圖5、6.
圖5 排名1~1 000平均角色個(gè)數(shù)統(tǒng)計(jì)Fig.5 Average role numbers in rank[1,1 000]
圖6 排名1~1萬(wàn)平均角色個(gè)數(shù)統(tǒng)計(jì)Fig.6 Average role numbers in rank[1,10000]
通常使用Pearson相關(guān)系數(shù)計(jì)算2個(gè)變量(屬性)的相關(guān)程度,Pearson系數(shù)的值|r|越接近1,表示變量越接近線(xiàn)性關(guān)系,視為高度相關(guān);,視為中度相關(guān);,視為不相關(guān);
分別計(jì)算1~1 000區(qū)間、1~5 000區(qū)間、1~1萬(wàn)區(qū)間的角色個(gè)數(shù)和項(xiàng)目排名之間的Pearson相關(guān)系數(shù) ,可得:
由Pearson相關(guān)系數(shù)含義可知:項(xiàng)目角色個(gè)數(shù)與項(xiàng)目排名之間確實(shí)存在很大的相關(guān)性.排名區(qū)間在1~5 000之間項(xiàng)目的|r|值很高,說(shuō)明在排名5 000之前的項(xiàng)目大都具有良好的組織結(jié)構(gòu),人員之間也具有較明確的分工,因此項(xiàng)目擁有較好的可信性(排名較高).整體來(lái)看,排名5 000之后的項(xiàng)目,人員組織及項(xiàng)目分工不如排名5 000之前項(xiàng)目,因此造成項(xiàng)目的可信性受到一定影響(排名較低).
軟件項(xiàng)目參與人員的角色配置及其個(gè)人能力對(duì)軟件項(xiàng)目成功與否有巨大影響,能在一定程度上反映軟件的可信性.本文通過(guò)對(duì)SourceForge開(kāi)源社區(qū)中大量真實(shí)項(xiàng)目的研究,發(fā)現(xiàn)并證明了項(xiàng)目角色的配置與軟件可信性之間確實(shí)存在巨大的相關(guān)性.因此,項(xiàng)目人員角色配置可以作為軟件可信評(píng)估的一種可信證據(jù)看待.該方法為一部分軟件可信屬性的量化和自動(dòng)化評(píng)估提供了依據(jù).
[1]劉克,單志廣,王戟,等.“可信軟件基礎(chǔ)研究”重大研究計(jì)劃綜述 [J].中國(guó)科學(xué)基金—學(xué)科進(jìn)展與展望,2008(3):145-151.LIU Ke,SHAN Zhi-guang,WANG Ji,etal.“Basic research of trustworthy software” survey of the grand research plan[J].China Science Fund,2008(3):145-151.(in Chinese)
[2]Trustie課題組.Trustie系列技術(shù)規(guī)范(V2.0)[EB/OL].(2009-05-30)[2009-11-20].http:∥www.trustie.net/down load/STEFS-2.0.pdf.TRUSTIE-STC.Software Trustworthiness Evidence Framework Specification(V2.0)[EB/OL].(2009-05-30)[2009-10-20].http:∥www.trustie.net/download/STEFS-2.0.pdf.(in Chinese)
[3]OpenBrr.Business readiness rating for open source[EB/OL].(2005-01-10)[2009-10-20],http:∥www.openbrr.org/BRR2005.pdf.
[4]Atos Origin.Method for qualification and selection of open source software(V1.6)[EB/OL].(2006-04-01)[2009-10-20].http:∥www.qsos.org/download/qsos-1.6-en.pd f.
[5]陳越.開(kāi)放源代碼成熟度評(píng)估 [EB/OL].(2007-12-11)[2009-11-20].http:∥oss.org.cn/download/OSSME.pd f.CHEN Yue.Open source Maturity Model[EB/OL].(2007-12-11)[2009-11-20].http:∥oss.org.cn/download/OSSME.pd f.(in Chinese)
[6]MOCKUSA,FIELDING R,J HERBSLEB D.Two case studies of open source software development:apache and mozilla[J].ACM Transactions on Software Engineering and Methodology,2002,11(3):309-346.
[7]CROWSTON K,HOWISON.J.The social structure of open source software development[J].Journal of Internet,2005,10(2):404-413.
[8]GREGORIO R,JESUSM.Evolution of the core team of developers in libre software projects[C]∥Proceedings of the InternationalWorkshop on Mining Software Repositories(MSR).Vancouver,Canada:IEEEDigital Library,2009:167-171.
(責(zé)任編輯 苗艷玲)
Trustworthy Evaluation Technology of Software Based on Roles
YUAN Lin1,2,WANG Huai-min1,YIN Gang1,SHIDian-xi1,MIHai-bo1
(1.School of Computer,National University of Defense Technology,Changsha 410073,China;2.Schoolof Electronic Technology,In formation Engineering University,Zhengzhou 450004,China)
The purpose of this paper is to choose the evidence in the process of software evaluation,by the views of roles in projects.Nearly 10000 software projects in the famous Source Forge community are analyzed,and the correlations between the roles structure and trustworthy of software was found and proved.The conclusion might be important foundations for evaluating some software trustworthy attributes quantitatively and automatically.
trustworthy software;trustworthy evaluation model;role structure
TP393
A
0254-0037(2010)05-0611-05
2009-12-10.
國(guó)家“八六三”計(jì)劃資助項(xiàng)目(2007AA010301);國(guó)家杰出青年科學(xué)基金(60625203);國(guó)家自然科學(xué)基金(60903043).
袁霖(1981—),男,河南商丘人,講師.
book=87,ebook=87