一种基于数据挖掘的软件可信性度量与评估方法

文档序号:6653944阅读:699来源:国知局
专利名称:一种基于数据挖掘的软件可信性度量与评估方法
技术领域
本发明涉及软件工程和信息安全领域,特别涉及软件可信性度量与评估。本发明公开的方法旨在给出一种利用概念层次法划分软件可信性构成属性特征集,并利用设置不同的权值、构造类型和置信概率,根据基于数据挖掘的同余度量算子计算软件可信性的软件可信性评估方法。
背景技术
验证(Verification)与确认(Validation)是软件工程学科研究领域用于构建软件质量的基本原则与方法之一 [1]。在过去十年中,基于互联网的软件应用已经逐步从上世纪以来的封闭式和集中式的私有研发环境、面向特定用户群体的具体功能使用模式演化为开放式和分布式的协作网络研发环境、面向非特定群体的虚拟服务使用模式[2]。在该演化趋势下,涉及可信软件代理[3]的验证与确认的新兴技术可提供给软件工程产业界用于度量和评估软件质量[4],尤其是当我们尝试利用互联网资源来增强自身软件的效率和竞争力时。毫无疑问,信任是人类社会运转的基石[6]。针对互联网的信息安全问题,在最近数年中,众多研究人员针对软件可信性展开了大量的研究工作。当用户对软件做出信任的决定时意味着该用户同时也承担了软件不可信所引起的显式和隐式的风险。因此,本专利给出的方法即基于对信任定义为一种源自于用户的主观判定的概念,而相对应的,对软件可信性定义为一种面向用户主观关注侧面的客观存在的软件质量属性的概念,即软件可信性是用户主观关注侧面的综合质量属性的反映[7’8]。因而,当且仅当被评估软件可信性等于或超过用户的主观期望时,该软件所提供的服务方可推荐给用户使用。在有关验证与确认的新兴技术中,数据挖掘技术[9]常被用于分析不同类型的软件工程历史数据,以辅助支持计算软件可信性。本专利公开的方法即为一种基于数据挖掘技术的网构软件(Internet-based Software)[10]可信性评估方法。当前,为处理网构软件可信性评估过程中的复杂演算逻辑,国内外研究学者已经从不同角度提出了多个软件可信性评估模型或度量方法,以下我们从可信软件的总体研究进展和软件可信性的评估与度量技术两个方面介绍(1)从研究用户的主观信任入手,以解决主观信任的语义形式化、传递性质及构造计算算子等问题,文献[11]给出一种将信任概念形式化的方法,文献[12]提出一种S基于声誉的aaS环境下向用户推荐服务的评估框架,文献[13]综述了可信软件研究趋势及其基于形式化方法的关键技术,文献[14]提出一种支持软件确保的S3R(安全性、保险性、可靠性和生存性)模型,用于描述软件确保的基本准则,文献[15]介绍了我国国家自然科学基金委员会于2008年启动的“可信软件基础研究”重大研究计划的背景、意义、当前状态、目标、存在问题和预期结果。在基于互联网的开放环境中,软件行为变得愈加复杂,因此通过度量软件行为来评估软件质量成为有别于传统的封闭环境下评估软件质量的主要特征。文献[16]期望致力于提出一种新的“软件行为学”学科,从而系统全面的描述软件行为,文献[17]较为全面的从静态分析和动态分析的角度综述了当今软件分析技术和相关工具,文献总结了可信计算领域的新兴理论和技术。在软件可信性评估标准和标准化研究领域, 文献[19]提出了一种面向可信服务应用的验证和监控模式的可信服务平台推荐标准模型。显然,可信服务的度量离不开服务计算技术的发展,文献[20]和[21]详细描述了当今服务计算研究领域的理论基础和实现方法。(2)数据挖掘作为一种从缺乏语义特征的海量数据中以自动化或半自动化方式挖掘语义知识的技术,已经成为众多学科领域的研究热点te][23]。文献[24]提出的基于数据挖掘的方法可支持研究人员基于细粒度的系统关键参数集实现优于传统软件优化技术的新方法。如上有关信任的观点,在众多文献中,均认为信任是一种源自于人类社会网络的主观概念。在文献[25]和[26]中,作者提出一种基于形式化语义的信任算子,并将其应用到非中心控制的分布式PKI网络中。针对可信云计算,文献[27]提出一种层次化的面向云计算数据中心的可信综合框架以支持云计算环境中的声誉传播系统。文献[28]从追溯引发软件缺陷的失信因子的角度,提出一种软件失信链及其度量和评估方法。针对软件实际执行效果和行为,文献[29]提出一种面向行为敏感的网络软件可信性方法。在当今服务计算成为软件功能的新载体的趋势下,文献[30]提出一种基于服务组合的可信软件动态评估方法。在文献[31]、[32]和[33]中,作者提出一组用于软件可信性设计、资源评估和证据收集机制的方法,并给出了具体应用实例。此外,还有很多文献,如[34-39]将研究工作专注于软件可信性的动态演化复杂性分析以及信任网络的转播与聚合。总之,以上研究工作部分体现了当今国内外在可信软件及其可信性评估研究领域的最新进展,本专利提出的评估方法与上述研究工作中的评估方法相比有一定的区别,主要体现在上述工作多数将研究重点放在软件可信性的度量或信任的管理,而本专利更多的侧重于将可信性的度量与信任的管理相结合,在本专利中,通过形式化方法提出一组信任与可信性的基本概念,并给出了与之相关联的基于软件黑盒测试的软件行为同余度度量算子,最终通过一种建立在用户信任期望基础上的软件可信性评估方法,实现了软件可信性度量与用户信任的一致性评估方案。参考文献LD. R.Wallace and R. U. Fujii, Software Verification and Validation :An Overview, IEEESoftware,6(3)(1989) 10-17.2. L. Liu and W. Shi, Trust and Reputation Management, IEEE Internet Computing. 14(5) (2010) 10-13.3. A. S. Patrick, Building Trustworthy Software Agents, IEEE Internet Computing. 6(6) (2002)46-534. R. S. Pressman, Software Engineering :A Practitioner Approach(McGraw-Hi11 International,6th edition,2006).5. R. Sandhu, The Technology of Trust, IEEE Internet Computing. 6 (6) (2002)28-29. ·6. V. G. Cerf, Trust and the Internet, IEEE Internet Computing. 14 (5) (2010)95-96.7. G. Pallis,Cloud Computing :The New Frontier of Internet Computing,IEEEInternet Computing. 14(5) (2010)70-73.8. Μ. Cusumano, Cloud Computing and SaaS as New Computing Platforms, Communicationsof the ACM. 53(4)(2010)27-29.9. R. R. Yager,Some Measures Relating Partitions Useful For Computational Intelligence, International Journal of Computational Intelligence Systems. 1(1) (2008)1-18.10. H. Wang, Y. Tang, G. Yin and L Li,Trustoworthiness of Internet-based software,Science in China Series F !Information Sciences,49(6)(2006)759-773.11. S. P. Marsh, Formalising Trust as a Computational Concept,doctoral thesis, University of Stirling,Scotland,1994.12. N. Limam and R. Boutaba,Assessing Software Service Quality and Trustworthiness at Selection Time, IEEE Transactions on Software Engineering. 36(4) (2010)559-574.13. H. Chen, J. Wang and W. Dong, High Confidence Software Engineering Technologies,Acta Electronic Sinca,31 (12A) (2003) 1933-1938. (in Chinese with English abstract).14. B. Fang, T· Lu and C· Li,Survey of software assurance,Journal on Communications,30(2)(2009) 106-117. (in Chinese with English abstract).15. K. Liu, Z. Shan, J. Wang, J. He,Z. Zhang and Y. Qin,Overview on Major Research Plan of Trustworthy Software, Bulletin of National Science Foundation of China,22 (3) (2008) 145-151. (in Chinese with English abstract).16.Y.Qu, Software Behavior (Publish House of Electronics Industry, Beijing,CN, 2004). (in Chinese)17. H. Mei, Q. Wang, LZhang and J. Wang, Software Analysis :A Road Map, Chinese Journal of Computers. 32(9) (2009) 1697-1710. (in Chinese with English abstract).18. C. Shen, H. zhang,H. Wang, J. Wang, B. Zhao,F. Yan, F. Yu,L Zhang and M. Xu, Research and Development of Trusted Computing, Sci.China Ser F_inf Sci,40(2) (2010) 139-166. (in Chinese).19. Y. Yuan,S. Witold and J. Boegh,Research on Key Technologies of Software Trustworthiness (Publish House of Electronics Industry, Beijing, CN, 2010).20.L.Zhang and J.Zhang, Architecture-Driven Variation Analysis for Designing Cloud Applications, in Proc.Int.Conf.Cloud Computing, eds. L Zhang(Bangalore, India,2009),125-134.21. L Zhang,J. Zhang and H. Cai,Services Computing (Tsinghua University Press and Springer, Beijing, CN, 2007).22. R. J. Hall, Editorial :data mining in software engineering,Automated Software Engineering,17(4)(2010),373-374.23. A. Garcia—Crespo,R. Colomo—Palacios,J. M. Gomez-Berbis and M. Mencke,BMR-Benchmarking Metrics Recommender for Personnel issues in Software Development Projects, International Journal of Computational Intelligence Systems. 2(3) (2009)256-266.24. G. Gay, T. Menzies, M. Davies and K. Gundy-Burlet, Automatically finding the control variables for complex system behavior, Automated Software Engineering,17(4)(2010),439-468.25. J. Huang and D. M. Nicol, A Formal-Semantics-Based Calculus of Trust, IEEE Internet Computing. 14(5) (2010)38-46.26. J. Huang and D. M. NicoliA Calculus of Trust and Its Application to PKI and Identity Management,in Proc. 8th Symp. Identity and Trust on the Internet, eds.K.Seamons(Gaithersburg,MD,2009)27. K. Hwang and D. Li, Trusted Cloud Computing with Secure Resources and Data Coloring, IEEE Internet Computing. 14(5) (2010) 14-22.28· J· Zhan,X· Zhou and J· Zhao,Analysis of the Original Cause of Software Distrust,in Proc. 2nd Int. Conf. Software Engineering and Data Mining,eds· G· Kou, Y. Peng,F. I. S. Ko, Y. Chen,T. Tateyama (Chengdu, China,2010),pp. 240-245.29. X. Fang, C. Jiang and X.Fan, Behavior-aware Trustworthiness Study of Networked Software, International Journal of Computational Intelligence Systems. 3(5) (2010)542-552.30. J. Zeng, H. Sun, X. Liu, T.Deng and J. Huai, Dynamic Evolution Mechanism for Trustworthy Software Based on Service Composition,Journal of Software. 21 (2) (2010)261-276. (in Chinese with English abstract).31. Y. Liu, Z. Ma, X. He and W. Shao, Approach to Transforming UML Model to Reliability Analysis Model,Journal of Software. 21 (2)(2010)287-304. (in Chinese with English abstract).32. S. Cai,Y. Zou, L Shao, B. Xie and W. Shao, Framework Supporting Software Assets Evaluation on Trustworthiness, Journal of Software. 21 (2) (2010)359-372. (in Chinese with English abstract).33. L. Gu, Y. Guo, H. Wang, Y. Zou,B. Xie and W. Shao,Runtime Software Trustworthiness Evidence Collection Mechanism Based on TPM, Journal of Software. 21 (2) (2010)373-387. (in Chinese with English abstract).34. J. Pan, F. Xu, J. Lu, Reputation-Based Recommender Discovery Approach for Service Selection,Journal of Software. 21 (2) (2010)388-400. (in Chinese with English abstract).35. Z. Zheng, S. Ma, W. Li, X. Jiang, Z. Zhang and B. Guo , Dynamical characteristic of software trustworthiness and their evolutionary complexity, Science in China Series F :Information Sciences,52 (8) (2009) 1328-1334.36. Z. Zheng,S. Ma, W. Li,X. Jiang,W. Wei,L Ma and S. Tang, Complexity of software trustworthiness and its dynamical statistical analysis methods,Sciencein China Series F Information Sciences,52(9)(2009) 1651-1657.37. W. Wang and G. Zeng,Trusted dynamical level scheduling based on Bayes trust model,Science in China Series F :Information Sciences,50(3) (2007)456-469.38.B.Lang,A computational trust model for access control in P2P,Science in China Series F :Information Sciences,53(5) (2010)896-910.39. R. Zhu, Research on Key Technologies for Trustworthy Service Composition, doctoral thesis, National University of Defense Technology, China, 2009.40.H.Hu, Research on Distributed Access Control Based on Trusted Computing,doctoral thesis,University of Science and Technology of China,China, 2009.41. Y. Zhang, H. Chen, X. Jiang, H. Sheng and Z. Wu, RCCtrust :A Combined Trust Model for Electronic Community,Journal of Computer Science and Technology,24(5) (2009)883-892.42.X.Feng, J. Pan and W. Lu, A Trust-Based Approach to Estimating the Confidence of the Software System in Open Environments, Journal of Computer Science and Technology,24(2)(2009)373-385·43. National University of Defense Technology,Peking University,Beihang University and CVICSE, http://www, trustie. net.

发明内容
本发明的目的是提供一种基于数据挖掘的软件可信性度量与评估方法,本方法在分析现有可信软件度量与评估需求的基础上,考虑了可信软件度量与评估过程中存在的主要问题,提出了一种可满足多种应用需求的软件可信性度量与评估基本概念的标准化定义及一种软件行为特征下的可信性合成规则,并在此基础上给出了一种基于数据挖掘软件行为同余度度量模型的软件可信性评估方法,本方法的实现逻辑是采用概念层次化的思想, 将复杂的可信软件评估问题进行逐层划分,形成一组规模较小可直接操作的软件度量问题,再利用改进的同余度度量规则逐层向上推理,最终实现可信软件的综合评估。为了达到上述目的,本发明所采用的技术方案为1、一种基于数据挖掘的软件可信性度量与评估方法,其特征在于包括以下步骤(1)以概念层次法为基础,分析了待评估软件可信性所包含的各类属性并进行划分,分别映射到相应的属性特征集中,然后定义同一属性集中各属性权重及相邻层属性集的构成关系。(2)基于软件测试环境,结合人工智能理论,给出一种面向属性特征集的可信性计算基础算子。(3)基于软件黑盒测试方法,结合数据挖掘理论,定义一种软件可信性度量方法, 该方法首先利用黑盒测试获得软件可信性静态属性特征集和可信性计算基础算子,逐层计算该软件初始时可信性;然后利用运行时测试软件行为获得的软件动态属性特征集,利用本方法给出的同余度度量算子,获得软件运行时可信性。
10
(4)通过用户对属性特征集定义最低主观期望,本方法逐层计算,获得该软件终止时可信性。(5)给出待评估软件可信性评估推荐意见,即当且仅当该软件运行时可信性大于终止时可信性并小于等于初始时可信性时,推荐用户选取该软件提供的服务,否则建议用户不再选取该软件提供的服务。通过本方法,初步实现了用户对软件的主观信任期望与软件的客观可信性的一致性度量,进而完成软件可信性评估。2、根据权利要求1所述的基于数据挖掘的软件可信性度量与评估方法,其特征在于步骤(1)包括以下定义方式根据概念层次法,将待评估软件可信性定义为一个概念层次矩阵,该矩阵为一组软件特征属性集,P1,...,Pp其中称Pk为第k层特征集。该特征属性集的基本特性是自最低层(P》至最高层(P1),每层的任一特征子集均完全包含于上层某特征子集中。这样我们可将该概念层次矩阵描述为矩阵T
权利要求
1.一种基于数据挖掘的软件可信性度量与评估方法,其特征在于包括以下步骤(1)以概念层次法为基础,分析了待评估软件可信性所包含的各类属性并进行划分,分别映射到相应的属性特征集中,然后定义同一属性集中各属性权重及相邻层属性集的构成关系。(2)基于软件测试环境,结合人工智能理论,给出一种面向属性特征集的可信性计算基础算子。(3)基于软件黑盒测试方法,结合数据挖掘理论,定义一种软件可信性度量方法,该方法首先利用黑盒测试获得软件可信性静态属性特征集和可信性计算基础算子,逐层计算该软件初始时可信性;然后利用运行时测试软件行为获得的软件动态属性特征集,利用本方法给出的同余度度量算子,获得软件运行时可信性。(4)通过用户对属性特征集定义最低主观期望,本方法逐层计算,获得该软件终止时可信性。(5)给出待评估软件可信性评估推荐意见,即当且仅当该软件运行时可信性大于终止时可信性并小于等于初始时可信性时,推荐用户选取该软件提供的服务,否则建议用户不再选取该软件提供的服务。通过本方法,初步实现了用户对软件的主观信任期望与软件的客观可信性的一致性度量,进而完成软件可信性评估。
2.根据权利要求1所述的基于数据挖掘的软件可信性度量与评估方法,其特征在于步骤(1)包括以下定义方式根据概念层次法,将待评估软件可信性定义为一个概念层次矩阵,该矩阵为一组软件特征属性集,P1,...,Pp其中称Pk为第k层特征集。该特征属性集的基本特性是自最低层 (Pr)至最高层(P1),每层的任一特征子集均完全包含于上层某特征子集中。这样我们可将该概念层次矩阵描述为矩阵T “P1 'Tu(rn,wu,c),Tn{rn,W12,c),...,Tlql(rlql,wlql,c),W22, c),T2q2 {rlql, w2q2, c)^rl ‘ " ^rqr ^rqr Wrqr ' J其中,任一特征子集,考虑第m层i个特征子集Tmi,均有两个属性QandH,Tffli. Q为该特征子集的元素个数,Tmi. H为该特征子集的对包含它的上层特征子集T(m+m的可信性贡献。 另外,Tffli有三个参数(rn,wn, c),其中rmi为该特征子集所代表的特征属性为真的置信概率,满足条件rmi e
,wmi为该特征子集占同属上层特征子集的所有特征子集的可信性权重,c为该特征子集的下层所有特征子集的构成方式,当c = Λ时,表示下层所有特征子集均为真时,该特征子集方为真;当c =V时,表示下层任一特征子集为真,该特征子集即为真。
3.根据权利要求1所述的基于数据挖掘的软件可信性度量与评估方法,其特征在于步骤( 包括以下定义方式考虑软件黑盒测试中的等价类划分测试方法,我们假设待评估软件的理想等价类测试空间为X,则根据待评估软件的实际运行前测试和运行时测试,可以得到两种测试集空间, 软件测试数据集STD和软件执行数据集SED,本方法需要解决的主要问题是,比较上述两种数据集的同余度,并将此同余度映射到归一化空间f(STD,SED) e W,l],即该值越接近于 1,则该软件的实际运行特征越符合其事先声明的测试特征,该软件越可信,否则,该软件越不可信。同时,我们定义反映待评估软件任一特征属性的规则if R then H;
;该规则表示如何该软件表现特征R,则该软件具有可信度H。考虑到软件测试可信度依赖于其测试环境的可信度,本方法基于人工智能理论,对待评估软件的每一个特征属性引入两个置信概率=CF(R)CF(H,R),其中CF(R)表示特征R的置信概率,CF(H, R)表示规则(R,H)的置信概率,并给出可信性计算基础算子=CF(H) = CF (H,R) XCF(R)。
4.根据权利要求1所述的基于数据挖掘的软件可信性评估方法,其特征在于步骤(3) 包括以下定义方式在此,我们仍然使用待评估软件的理想等价类测试空间为X,则根据待评估软件的实际运行前测试和运行时测试,两种测试集空间为软件测试数据集STD和软件执行数据集 SED0我们有以下定义
5.根据权利要求1所述的基于数据挖掘的软件可信性度量与评估方法,其特征在于步骤(4)包括以下定义方式5. 1、用户需针对待评估软件的主观期望,给可信性概念层次矩阵定义T的特征子集权重和最低期望可信性进行赋值,进而构造出T'为T的一个权重和最低期望可信性的赋值实例,并设置最低层(P》的下层构造方式恒为Λ。
6.根据权利要求1所述的基于数据挖掘的软件可信性度量与评估方法,其特征在于步骤( 包括以下定义方式定义1.信任为一个三元组(E1, E2, t),其中E1是信任者,氏是被信任者,〖是Eji E2 的信任,且满足条件£l(l£2 = 0,£lU£2#0;ie[O,l]o定义2.软件可信性T是一个反应软件综合质量属性的性质,且满足条件T e
, 即T越大,软件可信性越高。定义3.软件初始时可信性Tsit (s),且满足条件=Tsit (s) e
, BP Tsit (s)越大,软件初始时可信性越高。定义4.软件终止时可信性Tstt (s),且满足条件=Tstt (s) e
, BP Tstt (s)越大,软件可被推荐或继续运行的条件越高。定义5.软件运行时可信性Tsrt(s),且满足条件=Tsrt(s) e
, BP Tsrt(s)越大,软件运行时可信性越高。定理1.可信软件运行条件,需满足Tsit(s)彡Tsrt(S)彡Tstt (s)。 证明.软件当且仅当运行时可信性介于初始时可信性和终止时可信性之间时,方可继续运行,或被推荐给用户选择其提供的服务。证毕。根据以上定义,按照5. 3的方法计算软件终止时可信性Tstt (s),按照5. 5的方法计算软件初始时可信性Tsit(S),若Tstt(S) > Tsit(S),则说明软件初始可信性无法满足用户最低期望,软件可信性评估意见为不推荐该软件提供的服务。在软件运行时,按照3给出的方法计算同余度度量算子Cong(Pstd,Psed),按照公式 Tsrt(S) = Cong (PSTD, Psed) XTsit(S)。计算软件运行时可信性Tsrt (s),若满足条件Tsit (s) ^ Tsrt (s) ^ Tstt (s),则软件可信性评估意见推荐该软件提供的服务;否则,若Tstt(S) > Tsrt (s),则软件可信性评估意见为不推荐该软件提供的服务;否则,若Tsrt (s) > Tsit (s),则软件可信性评估意见推荐该软件提供的服务,并且根据以Psed表征的软件运行时演化现状,重新定义上述软件可信性特征矩阵 T,并重新计算Tsit (s)和Tstt (s),用于下一次软件可信性评估过程。
全文摘要
本发明公开了一种基于数据挖掘的软件可信性度量与评估方法,包括以下步骤(1)以概念层次法为基础,定义同一属性集中各属性权重及相邻层属性集的构成关系。(2)基于软件测试环境,结合人工智能理论,给出一种面向属性特征集的可信性计算基础算子。(3)基于软件黑盒测试方法,结合数据挖掘理论,利用黑盒测试获得软件可信性静态属性特征集和可信性计算基础算子,逐层计算该软件初始时可信性,利用运行时测试软件行为获得的软件动态属性特征集,利用同余度度量算子,获得软件运行时可信性。(4)通过用户对属性特征集定义最低主观期望,逐层计算该软件终止时可信性。(5)给出待评估软件可信性评估推荐意见。
文档编号G06F11/36GK102193861SQ201110061270
公开日2011年9月21日 申请日期2011年3月15日 优先权日2011年3月15日
发明者刘川意, 张旸旸, 杨金翠, 袁玉宇, 韩强 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1