主权项 |
一种基于四值逻辑的位运算测试用例生成方法,其特征在于,具体步骤如下:步骤一、分别设定四值逻辑运算的方法和四值逻辑运算的逆运算方法;四值逻辑运算是指将逻辑变量的值域抽象成四种取值,分别表示为:⊥,0,1,T;其中<img file="FDA0000760086590000011.GIF" wi="158" he="58" />0={0}、1={1}、T={0,1};逻辑运算的逆运算是指,已知逻辑运算xRy=z,通过y和z求x的运算称为R的逆运算,记为x=zR<sup>‑1</sup>y;R是位运算符,R∈{&、|、^};基于四值逻辑的运算式包括:x与y,x或y,x异或y,以及x按位取反;分别用符号表示为:x&y,x|y,x^y和~x;四值逻辑的逆运算式包括:x与y的逆运算,x或y的逆运算,x异或y的逆运算和x按位取反的逆运算;分别用符号表示:z&<sup>‑1</sup>y,z|<sup>‑1</sup>y,z<sup>^‑1</sup>y和~z<sup>‑1</sup>;步骤二、将位运算约束分解为逻辑运算约束;位运算约束的形式有两种:①一元约束:~x=y;②二元约束:xRy=z;其中,x、y、z是整数;将位运算约束中的整型变量表示成二进制形式,则二进制形式中的每一位对应一个逻辑运算约束;步骤三、将逻辑运算约束对应为约束满足问题;约束满足问题表示成三元组<X,D,C>;X是变量集,D是与变量集对应的值域集,C是变量的约束集;步骤四、依据四值逻辑运算和逆运算的方法使用搜索算法求解逻辑运算约束;步骤401、应用四值逻辑运算和逆运算的方法对约束集C进行抽象计算;得到变量集X中各个子集的抽象结果;变量集X中的元素即为子集,用x<sub>i</sub>表示基于四值逻辑的位运算生成的测试用例的二进制形式;步骤402、从变量集X的抽象结果中选择一个子集变量x<sub>i</sub>进行处理;步骤403、选定子集变量x<sub>i</sub>后,从对应的值域集D中选择一个子集D<sub>i</sub>;步骤404、将<x<sub>i</sub>,D<sub>i</sub>>代入约束集C,如果发生矛盾,则从值域集D中重新选择子集D<sub>i</sub>;否则,继续选择下一组<x<sub>i+1</sub>,D<sub>i+1</sub>>,直至变量集X中所有变量都赋值;步骤405、变量集X中所有变量都赋值且满足约束,求解成功;变量集X的一个赋值如果是约束求解问题的一个解,满足当且仅当该赋值包含所有变量且满足所有约束;步骤五、将逻辑运算约束的解合成为位运算约束的解,该位运算约束的解为生成的测试用例。<pb pnum="1" /> |