袁 霖,王怀民,尹 刚,史殿习,米海波
(1.国防科学技术大学计算机学院,长沙 410073;2.信息工程大学电子技术学院,郑州 450004)
基于角色的软件可信评估技术
袁 霖1,2,王怀民1,尹 刚1,史殿习1,米海波1
(1.国防科学技术大学计算机学院,长沙 410073;2.信息工程大学电子技术学院,郑州 450004)
针对软件可信评估中可信证据的选择和使用问题,从项目参与角色构成的角度,通过对世界著名开源社区SourceForge中近1万个真实项目的研究,发现并证实了项目角色的配置与软件可信性之间确实存在巨大的相关性,为一部分软件可信属性的量化和自动化评估提供了重要依据和基础.
可信软件;可信评估模型;可信证据;角色
自20世纪70年代初期,Anderson首次提出可信系统(trusted system)的概念以来,信息系统的可信性问题就一直受到学术界和工业界的广泛关注.
多年来,从不同的角度,人们对于可信的概念提出了很多不同的表述:从系统的角度,ISO/IEC 15408标准将可信定义为:一个可信(trusted)的组件、操作或过程的行为在任意操作条件下是可预测的,并能很好地抵抗应用软件、病毒以及一定的物理干扰造成的破坏;可信计算组织认为:如果一个实体总是按照其设定目标所期望的方式行事,则称这个实体为可信的;从用户体验的角度,微软公司的比尔·盖茨认为可信计算是一种可以随时获得的可靠安全的计算,并包括人类信任计算机的程度.
而所谓“可信软件”,通常是指那些运行行为及其结果总是符合人们预期的软件,在受到干扰时仍能提供连续的服务[1].因此可信软件概念的出现,使得可信软件不再局限于对软件传统的可靠性、可维性、可用性、安全性等方面进行分析,而试图从更广泛的意义上对软件进行评估.
可信证据是指经过查证确定属实,并能用来证明软件资源质量真实情况的证据,必须具备以下3个特征[2]:1)客观性,即证据是不以人们的意志为转移的客观存在的事实,这是证据的本质特征;2)关联性,或称相关性,是指证据和需要证明的质量可信度间有一定的关系或联系;3)可获得性,是指证据是可以依照确定的程序收集、审查、判断、获得和检验的.软件参与人员的角色信息符合上述3个特征,应当可以作为评估软件可信属性的一种证据而使用.但这种信息如何合理有效地反映到具体的软件可信属性上,目前无论国际还是国内,尚没有看到相关类似研究.
在开源领域,对软件可信性的研究主要集中在软件的成熟度方面,目前具有较大影响的主要是卡耐基梅隆大学软件工程研究所的BRR模型[3]和欧洲AtosOrigin公司的QSOS评估模型[4].国内的开源中国社区也提出了一种“开放源代码软件成熟度评估”模型[5].这些模型中,虽然评估的具体属性不太一样,但评估过程与方法基本相同,主要依靠评估人员打分和预定义的权重的方法,计算整个软件项目的可信分值.这种评估方法存在一些问题,如软件的易用性、应用范围等属性,评分标准主观性太强,与软件使用者的个人感受和习惯密切相关,且不易度量,无法客观准确地量化.
通过对上述软件评估模型的研究发现,在各个模型中确实存在一些属性,如文档质量、测试水平、应用范围、易用性、代码质量等,应当能通过参与软件项目的人员角色配置及人员个人能力反映出来.因此,通过项目的角色配置和人员能力在一定程度上对软件项目的部分可信属性进行评估的思想应当是可行的.
在软件开发人员结构研究方面,该领域代表性的工作是Mockus[6]通过对开发人员代码贡献量的分析,提出了软件项目开发人员具有类似于“洋葱”式的结构,大约20%开发人员贡献了超过80%的代码.Crowston等[7]从软件开发的协同性考虑,发现软件开发过程中,一般只有少部分项目具有高集中性结构,少部分项目是完全分布式结构,大部分处于中间状态(基本服从正态分布).Gregorio等[8]通过对软件开发核心团队的演化过程进行研究,发现软件开发人员的变化存在2个模式:code gods模式以及generations模式.每个时期最活跃的成员集合被定义为核心团队.code gods模式是指核心团队较稳定的模式,generations模式是指核心团队变化较大,基本是一代代传递的模式.
上述的研究结论反映出,项目开发过程中确实存在着一定数量的、稳定的项目协作团队.这为利用项目人员角色配置和人员能力对项目可信性进行评估的思路奠定了良好的基础.
由于教育模式对创造性思维的抹杀、传统思维习惯的制约、动画人对动画艺术理解的狭隘、动画片受众定位的低龄化和国外加工行业的薪资诱惑等原因,导致目前中国动画剧本存在的最大问题是缺乏创意。中国动画要想打开国内市场,走进国际市场,拥有既传统又现代、既本土化又全球化的特色,首先要给予重视的就是找寻动画剧本的创意。
SourceForge是国际最著名的开源软件社区之一,截止到2009年11月,其注册项目接近23万个,注册人数超过200万个.除提供支持开源软件开发的平台外,该组织还提供大量覆盖软件整个生命周期的真实的项目数据,供学术研究使用.目前,国内外很多研究工作都是以该社区项目数据为基础进行的.
对SourceForge中注册项目进行初步分析,项目所处状态如表1所示.
在SourceForge社区中,项目的推荐和排名是通过对项目近期活跃程度进行量化.一般情况下,排名靠前的项目已经获得了较大范围的应用和更好的认同度.从软件可信的角度出发,排名在一定程度上代表了更好的“可信性”.
为使数据具备更好的普遍性和可比性,选取排名前1万名,处于Beta、Production/Stable、Mature状态,总计7 779个真实项目作为研究对象.
通过对上述所有待研究项目统计与分析,参与项目的所有人员角色种类共有27种:顾问、兼职人员、分析设计人员、编译工程师、内容管理员、数据库管理员、程序员、运营主管、发布者/赞助人、文档人员、内容编辑、图形设计人员、包装者、跨平台开发人员、项目管理员、需求工程师、研究人员、客户支持人员、客户支持经理、技术支持人员、测试人员、翻译人员、系统程序员、Unix管理员、用户接口设计人员、多媒体支持人员、Web设计人员.
表1 开源项目状态描述Table 1 The status of open source p rojects
所有参与项目的人员中,所占比例最多的是开发人员(66%),其次是项目管理员(19%),再次是多任务型人员(5%),测试人员(2%),管理员、翻译人员、包装人员、文档人员、图形设计人员各占1%,其余角色所占比例都较小,没有超过1%.
为进一步研究项目拥有角色与项目排名之间的关系,分别对排名在1万和1 000之内的项目角色进行统计,分析结果如图1、图2所示.
图1 排名前1万项目角色分布情况Fig.1 Role numbers of projects in rank[1,10 000]
图2 排名前1000项目角色分布情况Fig.2 Role numbers of projects in rank[1,1 000]
通过图1的分析,可发现如下现象:
1)SourceForge社区中很大一部分项目只有1或2个角色,而只有极个别项目拥有角色个数超过7个;2)对比排名的各个区间(横坐标),在1~1 000内,超过3个角色的项目比例明显高于其他区间,并且这种比例随着排名的靠后有下降趋势;3)对比拥有相同角色个数的项目情况(纵坐标),拥有1~2种角色的项目,排名靠前(如1~1 000)的项目所占比例明显低于靠后区间的项目比例;而拥有超过3个角色的项目,在排名靠前的区间(如1~1000)中项目所占比例高于靠后的区间.
对排名1~1 000之内项目进行考察(见图2),同样可以发现如上规律.
基于上述统计结果,由于只有极个别项目拥有超过7种角色类型,在不影响分析有效性的情况下,只考虑角色个数处在1~7范围内的项目情况.拥有相同角色个数的项目排名分布情况如图3、图4所示.
图3 排名1~5 000角色分布比例图Fig.3 Distribution of projects based on number of roles in rank 1~5 000
从图3、4可以发现:随着项目角色个数增加(横坐标),处于排名靠前区间的项目所占比例也在增大.对数据进一步分析,计算各个区间项目的平均角色个数为
图4 排名1~1 000角色分布比例图Fig.4 Distribution of p rojects based on number of roles in rank 1~1000
其中,Nproj_num表示区间内项目总数;Ni为区间内项目i的角色个数,可以发现随着排名区间后移,项目平均角色个数有下降趋势,分析结果见图5、6.
图5 排名1~1 000平均角色个数统计Fig.5 Average role numbers in rank[1,1 000]
图6 排名1~1万平均角色个数统计Fig.6 Average role numbers in rank[1,10000]
通常使用Pearson相关系数计算2个变量(属性)的相关程度,Pearson系数的值|r|越接近1,表示变量越接近线性关系,视为高度相关;,视为中度相关;,视为不相关;
分别计算1~1 000区间、1~5 000区间、1~1万区间的角色个数和项目排名之间的Pearson相关系数 ,可得:
由Pearson相关系数含义可知:项目角色个数与项目排名之间确实存在很大的相关性.排名区间在1~5 000之间项目的|r|值很高,说明在排名5 000之前的项目大都具有良好的组织结构,人员之间也具有较明确的分工,因此项目拥有较好的可信性(排名较高).整体来看,排名5 000之后的项目,人员组织及项目分工不如排名5 000之前项目,因此造成项目的可信性受到一定影响(排名较低).
软件项目参与人员的角色配置及其个人能力对软件项目成功与否有巨大影响,能在一定程度上反映软件的可信性.本文通过对SourceForge开源社区中大量真实项目的研究,发现并证明了项目角色的配置与软件可信性之间确实存在巨大的相关性.因此,项目人员角色配置可以作为软件可信评估的一种可信证据看待.该方法为一部分软件可信属性的量化和自动化评估提供了依据.
[1]刘克,单志广,王戟,等.“可信软件基础研究”重大研究计划综述 [J].中国科学基金—学科进展与展望,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系列技术规范(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]陈越.开放源代码成熟度评估 [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.
(责任编辑 苗艳玲)
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.
国家“八六三”计划资助项目(2007AA010301);国家杰出青年科学基金(60625203);国家自然科学基金(60903043).
袁霖(1981—),男,河南商丘人,讲师.
book=87,ebook=87