发明名称 基于CSTM模型测试数据转换的构件软件可靠性分析方法
摘要 基于CSTM模型测试数据转换的构件软件可靠性分析方法,本发明涉及一种软件可靠性分析方法。它为了解决现有黑盒方法的忽略了组成系统的构件的测试以及可靠性信息,没有考虑软件的体系结构的缺点,本发明是测试数据转换的方法来实现黑盒方法和白盒方法的结合。它首先采用白盒方法实现构件软件测试剖面到运行剖面的映射,建立NHPP模型需要的可靠性数据集,然后采用黑盒方法建立构件软件应用的NHPP模型。测试数据转换的目的是将分阶段实现的、异构的构件软件灰盒测试过程转换成满足NHPP模型假设的单调统一的黑盒测试过程,把所有构件的单元测试数据和集成测试中构件之间的接口失效数据转换成整个应用基础上的黑盒测试数据,建立满足NHPP模型假设的可靠性数据集。
申请公布号 CN102306123A 申请公布日期 2012.01.04
申请号 CN201110312104.2 申请日期 2011.10.14
申请人 哈尔滨工业大学 发明人 崔刚;侯春燕;刘宏伟;刘刚;付忠传;吴祥虎;张楠;王秀峰;朱东杰;张策
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 哈尔滨市松花江专利商标事务所 23109 代理人 岳泉清
主权项 1.基于CSTM模型测试数据转换的构件软件可靠性分析方法,其特征在于它首先对需要用到的模型和参数进行定义:CSTM模型:CSTM模型定义为六元组&lt;n,m,UT,WT,TD,Φ&gt;,其中n表示构件总数;m表示白盒测试中集成构件的总次数;UT表示单元测试模型;WT表示白盒测试模型集,<img file="FDA0000098860640000011.GIF" wi="337" he="67" />i=1,…,m,其中<img file="FDA0000098860640000012.GIF" wi="141" he="45" />表示Test<sub>i</sub>的白盒测试模型;TD表示整个测试过程中收集到的测试数据集;Φ表示某一构件是否参与某一阶段测试的所有标志集,用矩阵表示为<img file="FDA0000098860640000013.GIF" wi="609" he="292" />公式一式中Test<sub>i</sub>——构件软件测试过程中第i个测试阶段,如公式二所示;<img file="FDA0000098860640000014.GIF" wi="80" he="63" />——指示构件c<sub>j</sub>是否参与Test<sub>i</sub>,如公式三所示;<img file="FDA0000098860640000015.GIF" wi="1108" he="223" />公式二<img file="FDA0000098860640000016.GIF" wi="486" he="154" />公式三测试数据集TD:TD表示整个测试过程中收集到的测试数据集,表示为<img file="FDA0000098860640000017.GIF" wi="653" he="292" />公式四式中<img file="FDA0000098860640000018.GIF" wi="85" he="63" />——在Test<sub>i</sub>期间收集到的构件c<sub>j</sub>失效数据的有序集,表示为<img file="FDA0000098860640000019.GIF" wi="634" he="149" />公式五式中<img file="FDA00000988606400000110.GIF" wi="217" he="63" />——在Test<sub>i</sub>期间收集到的构件cj的失效数据,满足<img file="FDA00000988606400000111.GIF" wi="325" he="76" /><img file="FDA00000988606400000112.GIF" wi="306" he="92" /><img file="FDA0000098860640000021.GIF" wi="71" he="63" />——失效发生的时间;<img file="FDA0000098860640000022.GIF" wi="80" he="63" />——在<img file="FDA0000098860640000023.GIF" wi="70" he="63" />时刻发生失效的数目;单元测试模型UT:UT建模单元测试过程,UT定义为n元组&lt;b<sub>1</sub>,b<sub>2</sub>,…,b<sub>n</sub>&gt;,其中b<sub>j</sub>表示对构件c<sub>j</sub>执行单元测试总时间的期望值;白盒测试模型<img file="FDA0000098860640000024.GIF" wi="168" he="58" /><img file="FDA0000098860640000025.GIF" wi="141" he="45" />建模Test<sub>i</sub>;<img file="FDA0000098860640000026.GIF" wi="142" he="45" />定义为二元组<img file="FDA0000098860640000027.GIF" wi="381" he="67" />其中<img file="FDA0000098860640000028.GIF" wi="159" he="45" />表示Test<sub>i</sub>的测试剖面;<img file="FDA0000098860640000029.GIF" wi="87" he="44" />表示Test<sub>i</sub>执行总时间的期望值;构件依赖图<img file="FDA00000988606400000210.GIF" wi="187" he="59" /><img file="FDA00000988606400000211.GIF" wi="159" he="45" />建模Test<sub>i</sub>的测试剖面;<img file="FDA00000988606400000212.GIF" wi="160" he="45" />定义为四元组<img file="FDA00000988606400000213.GIF" wi="394" he="67" />其中<img file="FDA00000988606400000214.GIF" wi="96" he="45" />表示节点集,<img file="FDA00000988606400000215.GIF" wi="302" he="79" /><img file="FDA00000988606400000216.GIF" wi="89" he="43" />是有向边集,<img file="FDA00000988606400000217.GIF" wi="291" he="79" />s表示起始节点;t表示终止节点;有向边<img file="FDA00000988606400000218.GIF" wi="103" he="75" /><img file="FDA00000988606400000219.GIF" wi="75" he="63" />建模Test<sub>i</sub>中从构件c<sub>j</sub>到构件c<sub>k</sub>的控制流转移;<img file="FDA00000988606400000220.GIF" wi="75" he="63" />定义为三元组<img file="FDA00000988606400000221.GIF" wi="454" he="75" />其中表示转移的名字;表示中从构件  转移到构件时构件c<sub>j</sub>的平均执行时间;<img file="FDA00000988606400000222.GIF" wi="86" he="63" />表示Test<sub>i</sub>中构件c<sub>j</sub>当前执行的情况下,构件c<sub>k</sub>下一个执行的条件概率;节点<img file="FDA00000988606400000223.GIF" wi="107" he="75" /><img file="FDA00000988606400000224.GIF" wi="79" he="63" />建模Test<sub>i</sub>中的构件c<sub>j</sub>;<img file="FDA00000988606400000225.GIF" wi="79" he="63" />定义为三元组<img file="FDA00000988606400000226.GIF" wi="392" he="64" />其中<img file="FDA00000988606400000227.GIF" wi="129" he="63" />表示节点的名字;<img file="FDA00000988606400000228.GIF" wi="82" he="64" />表示Test<sub>i</sub>当前子系统中构件c<sub>j</sub>执行的稳态概率;<img file="FDA00000988606400000229.GIF" wi="84" he="64" />表示Test<sub>i</sub>中构件c<sub>j</sub>的执行时间比例,定义为<img file="FDA00000988606400000230.GIF" wi="786" he="224" />公式六<img file="FDA00000988606400000231.GIF" wi="81" he="63" />和<img file="FDA00000988606400000232.GIF" wi="84" he="63" />是对当前集成测试子系统的测试剖面进行白盒分析的结果,求解方法与改 进的可加模型中相同;<img file="FDA0000098860640000031.GIF" wi="84" he="63" />定义了当前子系统测试过程中对构件的使用情况,实现了对不同集成测试阶段的测试剖面之间的映射关系建模;基于CSTM的测试数据转换是通过以下三个步骤实现的:步骤1:将所有构件的白盒测试数据转化为单元测试数据;对构件在不同测试阶段的测试数据进行测试阶段归一化处理;基于执行时间比例的定义,通过实现构件白盒测试剖面到单元测试剖面之间的映射来完成数据转换;选择单元测试阶段作为归一化阶段;根据公式四,任意构件c<sub>j</sub>(j=1,…,n)的测试数据集表示为<img file="FDA0000098860640000032.GIF" wi="548" he="127" /><img file="FDA0000098860640000033.GIF" wi="314" he="89" />设其转化后的数据集为T′<sub>j</sub>={(t′<sub>jk</sub>,n′<sub>jk</sub>)},<img file="FDA0000098860640000034.GIF" wi="363" he="125" />其中<img file="FDA0000098860640000035.GIF" wi="1225" he="409" />公式七<img file="FDA0000098860640000036.GIF" wi="1182" he="260" />公式八步骤2:将步骤1中得到的构件单元测试数据转化成对整个构件软件应用执行基于其运行剖面的黑盒测试情况下的测试数据;数据转换是建立满足NHPP模型假设的测试数据集;设转化后的数据集为T<sub>j</sub>={(t<sub>jk</sub>,n<sub>jk</sub>)},<img file="FDA0000098860640000037.GIF" wi="363" he="125" />其中<img file="FDA0000098860640000041.GIF" wi="210" he="139" /><img file="FDA0000098860640000042.GIF" wi="1139" he="488" />公式九<img file="FDA0000098860640000043.GIF" wi="1289" he="260" />公式十步骤3:建立可靠性数据集;通常,用于可靠性分析的测定数据分为以下两类:第一类,记录软件故障的时间间隔的测定数据;第二类,记录规定时间区间内发现差错数的测定数据;使用第二类方式来建立可靠性数据集,  即关于一定时间区间(0,t<sub>h</sub>)(h=1,2,…,n;0<t<sub>1</sub><t<sub>2</sub><…<t<sub>n</sub>)内被发现的差错总数Y<sub>h</sub>的数据;基于步骤2中建立的系统测试数据集,Y<sub>h</sub>表示为<img file="FDA0000098860640000044.GIF" wi="451" he="119" />公式十一 。
地址 150001 黑龙江省哈尔滨市南岗区西大直街92号
您可能感兴趣的专利