面向软件演化的可信性动态评估方法

文档序号:6334487阅读:862来源:国知局
专利名称:面向软件演化的可信性动态评估方法
技术领域
本发明涉及软件工程领域,尤其是软件可信性评估领域,具体为一种面向软件演 化的可信性动态评估方法。
背景技术
软件可信性是指基于合理的证据或经验对软件实体的所有非功能性属性(又可 称为可信属性)是否遵从预定规则集的评价。基于多维可信属性的软件可信性评估技术是 实施可信性过程控制和开展可信性管理的核心基础,是可信软件发展亟待解决的一个关键 问题。当前,为处理软件可信性评估过程中的复杂演算逻辑,国内外研究学者已经提出 了多个软件可信性评估模型或度量,提供了描述、量化及综合多种软件质量度量的功能,实 现了对复杂软件系统可信性评估推理过程的一致性建模,并较为合理的阐明了软件的内在 可信机理及信任传播机制。下面简要说明现有的一些有代表性的研究方法(1) JC Ψ- ((Software dependability evaluation based on markov usage models)) (Performance evaluation, 2000)给出了一种基于Markov模型的软件可信性评估 方法,通过对risk、safety、reliability三个相关因素的预测与分析,分别建立了静态和 动态两个模型。(2)文章《Managing trustworthiness in component-based embedded systems》 (Electronic Notes in Theoretical Computer Science,2007) ■ [JB 了—禾中 ffl @ ft 入 式构件软件的可信性模型,定义了 一个可信性评估函数TEF,用三元组〈complimce, benignity, stability)较为全面的展现了软件的可信性状况。(3)文 章((Trustworthiness evaluation and testing of open source components)) (Seventh International Conference on Quality Software, 2007)分析开 源构件部署时存在的构件质量难认证问题,有针对性的给出开源构件的可信性评估和测试 方法.(4)文章《Software dependability evaluation model based on fuzzy theory)) (International Conference on Computer Science and Information Technology,2008) 运用模糊理论建立了软件可信性评估模型,实现了对评估过程的不确定性建模。(5)文 章《Dependability of software in airborne mission systems》 (DSTOTechnical Report, 2008)提出一种面向软件开发过程的可信性评估方法,建立基于 贝叶斯信念网络(BBN)的软件可信性评估模型,为进一步开展项目风险评估、软件架构更 新对可信性的影响程度求解及失信因素分析等研究工作奠定了基础。^^nTffiiiff^llM (software trustworthiness evaluation model, STEM)的 构建依赖于对用户可信需求的准确定位及度量指标的合理选择。传统模型在应用于可信性 评估时遇到一个重要的挑战模型在提交运行之后,基于稳态环境下采集的基础评估信息, 即可获得软件的量化可信性评价,但软件的可信需求(trustworthy requirement,TR)依然
3具有动态演化性同一用户在不同环境、不同状态(周期)下的可信需求不同,传统静态的 模型不具有动态自适应特征,也就无法解决可信需求演化时的软件可信性评估问题。因此, 复杂系统软件需要研究一种需求驱动、考虑可信属性间关联的可信性评估及演化模型。

发明内容
本发明的目的是提供一种面向软件演化的可信性动态评估方法,基于分布式评估 框架的思想,利用关联矩阵对可信属性间的内在联系及可信属性相对权重的变化规律进行 分析,提出应用于软件可信性评估指标系统自主配置的自适应重构器,给出软件可信性评 估及演化模型的整体框架,实现面向软件演化的可信软件的动态综合评估。为了达到上述目的,本发明所采用的技术方案为面向软件演化的可信性动态评估方法,其特征在于遵循软件可信性评估的总体 目标,结合领域专家知识,分析待评软件的相关技术文档,获取完备可信需求集TR,并提取 可信需求集TR中的可信指标以获得一个完备的确定性的可信指标集人,依据可信指标集 Xe中各可信指标的层级特征,采取主观判断的方式求解可信指标间的权重Xw后,构建初始 状态下的可信性评估指标系统TEIS =XeXXw-TEIS ;遵守决策独立性条件,制定符合用户 需求的可信决策规则集;在计算机中通过软件演化分析,监测软件实体状态,若发生软件演 化,则获取演化激励信号,并获取演化激励后在计算机中生成的状态转移函数CS^( τ); 当计算机发出演化激励信号的同时,在计算机中基于重构框架schemes,运用自适应重构算 法SAR进行可信性评估指标系统的自主重构TEIS — TEIS* ;通过软件测试或软件分析、软 件建模预测分析或软件定性评价采集原始评估数据,并对TEIS*进行一致性预处理,获得统 一识别框架下的初始可信证据集Xm;遵循可信指标间的复杂层级特征,在计算机中构建软 件可信性演化推理模块,调用可信性演化推理模块对可信证据集Xm进行可信性求解,得到 量化的可信性综合评价V ;在可信决策规则集的指导下,依据量化后的可信性综合评价V, 通过使用可信决策规则集制定可信性综合决策,并进一步制定面向待评软件的可信性综合 决策。所述的面向软件演化的可信性动态评估方法,其特征在于 评价系统软件的多维可信属性。所述的面向软件演化的可信性动态评估方法,其特征在于 发现软件实体状态发生演化时,由计算机发出的一个演化讯号。所述的面向软件演化的可信性动态评估方法,其特征在于 对可信指标集\中的底层指标展开。所述的面向软件演化的可信性动态评估方法,其特征在于 V表示一个完备的确定性的可信性评估结果集。本发明方法具体包括以下步骤(1)分析待评软件的相关技术文档,通过获取的完备可信需求集TR提取可信指标 集\,再依据可信指标间的层级特征得到可信指标间的权重xw,综合进行初始可信指标系 统TEIS的构建,其中包括以下步骤(1. 1)根据不同的应用背景选择或定义不同的度量指标,并定义一个开放的可信 指标数据库。所述总体目标为全面 所述演化激励是指当 所述原始评估数据针 所述可信性综合评价
可信指标可以被看作是指标树中的结点Tindex。与传统指标树结点相比,int型 参数FLAG用以标记指标结点的类型,FLAG = 0表示定量指标,FLAG = 1表示为定性指标; int型参数weight用以标记指标权重。依据度量方式的不同,将指标分为定性(qualitative index)和定量 (quantitativeindex)两种。为了便于本发明的评估信息操作,构建一个统一的数据类型 TIType。根据指标类型的不同,结构内部的变量具有不同的定义。string型参数unit用以 标记指标的度量单位,若为定性指标,该参数设置为空;string型参数metricType用以标 记指标的度量方式。上述程序能实现的目的通过上述定义,将所有可信指标的信息进行数字化存储。 通过预定义或用户输入,数据库中用于度量可信软件的指标得到不断累积和修正,便于不 同软件可信评估指标树的构造,可信评估指标树是指具有树状逻辑结构的可信性评估指标 系统。(1. 2)在定义开放的可信指标数据库基础上,采用树型逻辑结构,在计算机中设计 实现递归的可信指标树生成算法CreateITree的软件模块。在实现递归的可信指标树生成算法CreateITree算法的软件模块中,以结点“TSE 为Tindex头结点的指标树即为所需。待评软件的可信评估指标树建立之后,将每个Tindex 父结点下的所有Tindex子结点看作一个子集,运用AHP方法求解权重向量w,即可赋值 NIT. Weight = w。(2)通过构建初始状态下的指标系统TEIS,依据决策独立性条件,制定符合用户 需求的可信决策规则集;可信决策规则集是指支持软件用户制定可信性决策的规则集合。 可信决策规则集通常是由评估专家依据软件应用和开发背景,以用户需求为导向,采用群 决策的模式进行制定。可信性决策规则集通常是对软件可信性评估推理结果的具体阐释,并为专家的终 极决策提供有效支持.在实际操作中,为了保证制定的改进策略切实有效,需要专家以软 件可信性需求为基准,不断细化和优化决策规则,提升其适用性和准确性。(3)软件运行状态的迁移将导致软件的可信需求不断发生变化,因此需要对由软 件演化导致软件状态的变动进行动态检测(state inspection)对软件演化背景下的可信性评估而言,、时刻下软件实体的状态记为S<ti,tri; TEIS^pXy)〉,其中、表示软件的当前运行时刻,tri表示第i时刻下的软件可信需求, TEIS (Xe, ” Xw, J为对应的指标系统,Xe, i和Xw, i分别为第i时刻下的可信指标集和指标权 重集。待评软件运行于时间区间(ti; tj]内并发生演化,状态转移函数记为=CSbj(T)= S<ti tri TEIS(Xe,XWji)> ^ S<tj, trj; TEIS(XejJ, XWjJ)>, τ 为激励参数,0 彡 i ^ η, e, w, 是对引起演化因素的量化衡量,通过状态转移函数的变化检测软件状态的变动。(4)获取软件演化激励后,通过重构框架Schemes运用自适应重构算法SAR进行软 件可信指标系统TEIS的自主重构,其中包括以下步骤建立关联度及非对称TA关联矩阵。TA是指软件可信性包含所有非功能性属性。 关联度及非对称TA关联矩阵定义如下假设软件的可信属性集合为TA = Ia1, . . .,an}。关联度Cij e (-1,1)是指可信属性 对…的量化关联程度,且Cij兴Cjitl若Cu>0,说明 对…正相关(相辅);若Cij = 0,说明 对…不相关(完全独立)。若Cij < 0, 说明 对…负相关(互斥),式中i、j是某两个可信属性的下标,i、j e [l,n],关联度及 TA关联矩阵=[CijJnto是指软件所有可信属性间关联度的非对称的集合矩阵。(4. 1)重构框架 Schemes定义一种关联度及非对称TA关联矩阵间权重自调整方法首先定义TA间相对权重集W = Iw1, ...,Wi,...,wn},具体操作如下(4. 1. 1)删除 TEIS 中的 TAaia如果关联矩阵的第i行全为0,则可直接删除 ,而不会对其他TA造成影响,但 会影响TEIS的结构,需要重新求解剩余TA的权重。令at (t = 1,. . .,n,t乒i)为剩余的TA,则删除后,at的相对权重变为wt' = (nwt+wi)/n, t = 1, . . . , η, t 兴 i.b如果关联矩阵的第i行至少存在一个不为0,则删除 会对TEIS的结构及其他 属性造成影响。令ACi是由与 相关的TA组成的有限集,IACi |为集合中元素的个数,at e ACi是 与Bi相关的TA,街WC,是与Bi不相关的TA, Cit是屮一at的关联度,删除Bi后,at和ax的 相对权重分别变为
wZ1 = ^-Qw,'Cu φ]
Wr-Wr--!-, Cix = U.
“ ‘ ”-K 卜1 ”显然有 彡Wt',Wx'彡 1。(4. 1. 2)增加 TEIS 中的 TAai增加一个新的可信属性%时,首先要提供与之有直接关联的TA,并给出相应的 Cit(t = 1,...,η)和Cti(t = 1,...,η),进而形成新的关联矩阵。增加 后,采用群决策 的方式进行权重计算。(4. 1. 3) TA间权重修正发生软件演化时,同一 TA在保障软件可信性中所呈现的重要程度会发生较大变 化,需要采取权重修正的方式进行调节。若ai为软件S的关键可信属性,A是保障其可信所需考察的完备TA集,则需满足 Vfl7G J时,Wi ^ Wj恒成立。令ai是关键可信属性,Wi和Wi’分别表示 在软件状态Sk和Sk+1下的权重。ACi是由与 相关的TA组成的有限集,at是与 相关的TA,ax是与 不相关的 TA, Wt和Wx分别表示它们在Sk状态下的权重,Cit是 一at的关联度,则at和ax在Sk+1状 态下的权重可以采用下式求解
=Clt Φ ^
通过关联矩阵对可信属性间的内在联系的分析,即可得到完整的配置重构框架 Schemes。(4. 2)在以上TA增减及TA间权重自调整方案的框架下,在计算机中定义一种面向 软件演化的TEIS动态自适应重构算法SAR,所述TEIS动态自适应重构算法SAR通过检测软件实体状态,获取演化激励,判别 可信性评估指标系统的调整方式仅需调整可信属性间相对权重、增加新可信属性及删除 某可信属性,分别运用上述的基于关联矩阵的TA间权重自调整方法,最终实现可信性评估 指标系统的动态自适应重构。(5)按照步骤(4)后获得新状态下的软件TEIS,需要进一步开展软件进行可信演 化推理,并对获得的基础信息进行一致性转换,具体包括以下步骤若软件运行于一定的稳态环境中,且在有效时间内具有可持续性和相容性,采集 原始数据I= UpI2,...,ιΜ}。数据采集方式包括软件测试或代码分析、软件模型预测或 专家定性评价。在获得原始数据之后,运用基于效用理论的主/客观信息一致性转换技术,获得 统一识别框架Ω = Ihph2,...,hM}下的初始证据集Xm。其中,依据起源的不同,可以分为 主观证据和客观证据。(6)通过监测软件实体S的运行状态,获取TR演化激励,再利用在自适应重构算 法基础上构建的自适应重构器(TEIS Adaptive reconstruction)装载和配置重构框架 Schemes以进行TEIS的自主重构构建,包括以下步骤(6. 1)为了实现软件可信性评估演化,调用基于TEIS自适应重构的软件可信性评 估演化算法STEE,算法STEE中,令软件M的实体状态集为S= {S1;. . .,St},当前状态为Si (i e [1, t])。析取Si状态下软件的可信性需求,提取对应的可信性评估指标,求解指标间相对权重, 构建初始TEIS,并采集可信证据,调用层级递推算法获得Si状态的可信性评估结果;检测 软件实体状态,若发生转移Si — Si+1,调用SAR算法实现软件可信性评估指标系统的动态自 适应重构,并再次采集证据,求解Si+1状态的可信性评估结果。如此反复,直至获得所有状 态S = (S1, ...,SJ下的软件可信性评估结果。通过调用STEE算法(可以在软件连续状态下开展可信性动态评估,获得一个完备 的可信性评估结果集。(6. 2)利用证据理论中的分布式评估框架和证据合成规则,定义一个用于软件可 信性评估的层级递推算法HRA,将采集到的可信证据带入层级递推算法HRA,结合可信性评 估演化算法STEE构建软件可信性演化推理模块,算法的实现过程及核心步骤表述如下Step 1令Ω = {hs,1 ^ s ^ S}为待评软件的可信性评估统一识别框架,各评价 等级的效用为 V = {vs, (1 彡 s 彡 S)},评估指标系统 TEIS = (Xe, Xm, Xw, subelem,indeva, weis),其中Xe = {er, Xem, Xel},er是软件可信性综合评价指标,Xem = Iem1, ... , emj是软 件的可信属性或子可信属性,Xel = {{elp}, {elq}} (p,q e [1,m]),elp和el,分别表示定量 和定性叶子指标。EM = {emj (1 ^ χ ^ X)为参与定性叶子指标评价的专家集合,专家权重 为0(1体χ);Step 2对每个指标层级Ht(l < t < N),求得指标的相对权重,定义为
7洞时,采集原始评估信息,并转换为Ω上的基本信念分 配 ΒΒΑ,定义为总= >{峋》,(p,ge[l,m]);令Ω为识别框架,S为Ω上的证据源,则证据源的基本信念分配BBA定义为函数 πι:2ω — W,l],满足Σ#ΩΚ々 = 1.若焦元A都是单基焦元,则称m㈧为贝叶斯BBA.Step 3求得联合系数π,计算叶子指标上经相对权重和折扣联合调整后的 BBA《={{<>{<;}};Step 4执行群体意见集结。对定性叶子指标el,,对专家意见进行证据合成,调用 ER解析合成算法求得定性叶子指标上的合成评价("H彻e [1^])将原BBA中的无知空间按来源的不同进行划分,调整为可以被直接应用于ER解析 合成算法的新BBA,再结合相对权重{ ,},求得调整后待合并的BBA WCJ(…》;所述待合并的BBA定义函数如下mw (hp) = WiHii (hp),ρ = 1,· · ·,PWn,, =I-W,,
^n,, =w!(\~Yjpm,(hp).Step 5对指标层级Hn指标上的BBA进行证据合成,求得层级H1^1上指标的 BBA Km }(/e[l, ]);再结合指标上的相对权重,求得调整后BBA {< ,}(% =义 ,);Step 6如果N > 1,则N = N-1,转St印5 ;否则,向下执行;Step 7执行最后一次证据合成,求得待评软件的可信性综合评价乂,;可信性综合 评价是指最后证据合成的结果,不是最终的确定性的可信性综合评价,而是一个在指标 “可信性”上的不确定性的可信性评价,Step 8量化评价,提供更为直观的定量评估数据。依据统一评价等级hs的效用值, 使用下式计算所有指标的评价值「= ,YL,{、}"“}。\ =Yfs=me{hs)v{hs)ν— =哪= 1,·.·, Vetk =^l,melk(hs>(hs^k其中\表示的是可信性综合指标上的BBA,,表示的是可信属性和子可信属性 上的BBA,%4表示的是叶子指标上的BBA。层级递推算法HRA中的证据合成使用Dempster合成规则,模型最终以量化后的评 价值方式给出软件的可信性评估结果。(7)运用全局灵敏度方法找出导致软件失信或可信度较低的关键因子,并制定可 信性改进策略。本发明其特点和优点如下(1)软件演化背景下的可信性评估作为传统方法难以应对的难题,软件演化背 景下可信性评估指标系统的频繁失效在本发明中得以有效解决。应对该问题的核心部件是 一种基于关联矩阵的软件可信性评估指标系统动态自适应重构器。
(2)方法的普适性基于开放的可信性评估指标系统构建的评估模型,以及面向 多维可信属性的多个经典算法的设计与实现,使得本发明普遍适用于当前复杂系统软件的 可信性评估过程。(3)不确定性因素的有效处理复杂系统软件的可信性评估过程具有不确定性特 征。证据理论中基本信度分配、证据合成规则、分布式评估框架等的合理应用,将保证本发 明适用于处理不确定性环境下的可信性评估问题,也提高了评估结果的准确性。对运行于繁杂工业现场的规模庞大、体系结构复杂、可信需求较高的软件而言,软 件演化将给可信性评估模型的适用性提出新的较高的要求。本发明的研究与应用,将为软 件演化背景下的可信性动态评估问题提供一种便捷、有效的解决方案,克服了传统模型在 动态性、普适性及不确定性方面所存在的不足,具有重要的实际应用价值。


图1为面向软件演化的软件可信性评估过程图。图2为可信软件评估指标树。图3TA间关联矩阵图4为可信证据的采集与转换图。
具体实施例方式本发明主要提供一种面向软件演化的可信性动态评估方法。本方法在分析现有 可信软件评估需求的基础上,综合考虑软件演化过程中可信性评估指标系统失效、可信证 据推理无法正常开展等问题,设计实现基于关联矩阵的可信性评估指标系统自适应重构 器,并在此基础上给出了一种面向软件演化的可信性动态评估方法,主要分为七个步骤第 一,遵循复杂系统软件可信性评估的总体目标,以不确定性软件可信性评估的推理逻辑及 演算过程为理论基础,定义一个面向软件演化的软件可信性评估过程;第二,结合领域专家 知识,分析待评软件的相关技术文档,获取完备可信需求集TR,并进一步提取可信指标集 Xe ;依据可信指标间的层级特征,采取主观判断的方式求解可信指标间的权重Xw,并进一步 构建初始状态下的可信性评估指标系统(trustworthiness evaluation index system, TEIS) =XeXXw-TEIS ;第三,遵守决策独立性条件,制定符合用户需求的可信决策规则集; 第四,通过软件演化分析,监测软件实体状态。若发生软件演化,则获取演化激励,生成状态 转移函数CSbj τ );第五,基于重构框架schemes,运用自适应重构算法SAR进行指标系统 的自主重构TEIS — TEIS* ;第六,采集原始评估数据并进行一致性预处理,获得统一识别 框架下的初始可信证据集Xm;第七,遵循可信指标间的复杂层级特征,构建软件可信性演化 推理模块,并调用该模块进行可信性求解,得到量化的可信性综合评价;第八,在可信决策 规则集的指导下,制定面向待评软件的可信综合决策。下面对上述基于证据理论不确定性推理模型的软件可信性评估方法的过程的八 个步骤分别进行详细描述。在步骤(1)中,定义一个面向软件演化的软件可信性评估过程。具体操作如下定义的模型如图1所示,图中所示的评估过程适用于软件实体在发生软件演化状 态下的可信性评估,而在连续软件演化状态背景下的软件可信性评估及过程应该是由一系
9列这样的子过程组成的。主要包括如下几个步骤(1-1)结合领域专家知识,分析待评软件的相关技术文档,获取完备可信需求集 TR,并进一步提取可信指标集人;依据可信指标间的层级特征,采取主观判断的方式求解可 信指标间的权重Xw,并进一步构建初始状态下的可信性评估指标系统(trustworthiness evaluation index system, TEIS) :XeXXw —TEIS;(1-2)遵守决策独立性条件,制定符合用户需求的可信决策规则集;一个简单的可信性决策规则集如表1所示,其中ν表示可信性综合评估值,g (ν)表 示可信性等级函数,dr (ν)表示决策规则函数。表1可信性决策规则集
权利要求
面向软件演化的可信性动态评估方法,其特征在于遵循软件可信性评估的总体目标,结合领域专家知识,分析待评软件的相关技术文档,获取完备可信需求集TR,并提取可信需求集TR中的可信指标以获得一个完备的确定性的可信指标集Xe,依据可信指标集Xe中各可信指标的层级特征,采取主观判断的方式求解可信指标间的权重Xw后,构建初始状态下的可信性评估指标系统TEISXe×Xw→TEIS;遵守决策独立性条件,制定符合用户需求的可信决策规则集;在计算机中通过软件演化分析,监测软件实体状态,若发生软件演化,则获取演化激励信号,并获取演化激励后在计算机中生成的状态转移函数CSi→j(τ);当计算机发出演化激励信号的同时,在计算机中基于重构框架schemes,运用自适应重构算法SAR进行可信性评估指标系统的自主重构TEIS→TEIS*;通过软件测试或软件分析、软件建模预测分析或软件定性评价采集原始评估数据,并对原始评估数据进行一致性预处理,获得统一识别框架下的初始可信证据集Xm;遵循可信指标间的复杂层级特征,在计算机中构建软件可信性演化推理模块,将可信证据集Xm带入可信性演化推理模块进行可信性求解,得到量化的可信性综合评价V;在可信决策规则集的指导下,依据量化后的可信性综合评价V,通过使用可信决策规则集制定可信性综合决策,并进一步制定面向待评软件的可信性综合决策。
2.根据权利要求1所述的面向软件演化的可信性动态评估方法,其特征在于所述总 体目标为全面评价系统软件的多维可信属性。
3.根据权利要求1所述的面向软件演化的可信性动态评估方法,其特征在于所述演 化激励是指当发现软件实体状态发生演化时,由计算机发出的一个演化讯号。
4.根据权利要求1所述的面向软件演化的可信性动态评估方法,其特征在于所述原 始评估数据针对可信指标集Xe中的底层指标展开。
5.根据权利要求1所述的面向软件演化的可信性动态评估方法,其特征在于所述可 信性综合评价V表示一个完备的确定性的可信性评估结果集。
全文摘要
本发明公开了一种面向软件演化的可信性动态评估方法,在分析现有可信软件评估需求的基础上,综合考虑软件演化过程中可信性评估指标系统失效、可信证据推理无法正常开展等问题,设计实现基于关联矩阵的可信性评估指标系统自适应重构器。本发明的研究与应用,为软件演化背景下的可信性动态评估问题提供一种便捷、有效的解决方案,克服了传统模型在动态性、普适性及不确定性方面所存在的不足,具有重要的实际应用价值。
文档编号G06F11/36GK101963940SQ20101052089
公开日2011年2月2日 申请日期2010年10月26日 优先权日2010年10月26日
发明者丁帅, 余本功, 余涛, 杨善林, 王晓佳, 马溪骏, 魏礼舜 申请人:合肥工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1