Page 24 - 《软件学报》2025年第4期
P. 24

1430                                                       软件学报  2025  年第  36  卷第  4  期


                    最后, 我们整理了所有的案例和验证数据, 结果如表                6  所示. 对于验证结果中涉及的状态空间, 选取整体遍历
                 状态空间最大的一个性质的验证数据. 这是因为对于不同的验证性质, 它们可以并发执行. 特别地, 对于组合验证,
                 我们选取同一性质的验证结果中最大状态空间以及最大耗费时间, 这里最大耗费时间是选取对应案例实验中所有
                 需求进行组合验证中某个需求所对应的最大验证时间, 并不是对应案例中组合验证中所有需求对应的验证时间总
                 和, 其他具体结果如图       14  所示. 对于整体验证来说, 验证结果记录整体验证的综合结果, 若所有性质都满足一致
                 性, 则为“满足”, 若存在不满足一致性, 则为“不满足”, 若存在性质超出内存无法验证, 则为“超出内存” (out of
                 memory). 对于超出内存的情况其最大状态空间和最大耗费时间也无法得知, 一般认为验证状态空间过大导致无
                 法得出验证结果, 使用“-”代表. 组合验证列中的依赖关系表明了该案例中存在的数据依赖和控制依赖数量. 组合
                 验证列中的可执行验证子系统指的是根据需求依赖进行组合验证所划分的子系统个数, 而真正执行                                  NTA  则是与
                 待验证性质相关需要运行的子系统. 子系统验证结果表明各个子系统验证结果情况. 整体模型验证列中可执行验
                 证模型代表该案例中软件构件           TA  和设备构件   TA  数量之和, 即需求数量与设备数量之和. 另外, 考虑到操作系统
                 等因素可能对实验结果产生影响, 我们在实验过程中对每组实验进行了                        10  次验证. 我们取这   10  次验证的平均值,
                 以此来确定最终的探索状态数和所需时间. 其结果如表                  6  和图  14  所示. 需要说明的是, 图  14  中的白色柱状展示了
                 不同验证子系统的状态空间. 参与验证的子系统数量会根据其涉及的验证性质有所不同. 如果某个验证子系统并
                 未涉及到特定的验证性质中的设备, 那么这个子系统就不会参与到验证过程中. 因此, 状态空间的数量并不一定会
                 与表  6  中列出的验证子系统数量完全一致.

                                                   表 6 组合验证评价结果

                      案例                      本文方法                        整体模型验证
                                                                                          状态空间 时间耗费
                                         #可执行                       #可执
                         #需 #设                 子系统验 #探索的 最大耗费             验证 #探索的 耗费时     约减比例 约减比例
                   名称           #依赖关系    验证子                        行验证
                          求 备                   证结果 最大状态 时间 (s)           结果    状态    间 (s)  (%)    (%)
                                          系统                         模型
                  灯光控制    6  5  数据依赖: 3    6    5满足     79      0     11  不满足    143   0    44.76   0
                   系统           控制依赖: 2        1不满足
                 智能家居控    11 15 数据依赖: 5    11   9满足    517 955  5.875  26  不满足 697 901 7.812  25.78  24.80
                  制子系统                         2不满足
                 轨道交通控    4  7  数据依赖: 2    4    4满足     54      0     11  满足     78    0    30.77   0
                  制子系统                                         20
                 机载侦查子    19 12  数据依赖: 11  19   16满足  18 025 481 100.094  31  超出  -    -     -      -
                   系统           控制依赖: 6        3不满足                       内存
                 太阳搜索控    19 28  数据依赖: 16  15   10满足  19 199 651 247.236  47  超出  -    -     -      -
                  制子系统          控制依赖: 5        5不满足                       内存
                 注: 符号#标注的列数据可以重点关注

                   160                            800 000                          90
                                    143                            697 901                        78
                                                  700 000                          80
                   120                            600 000                          70
                                                          517 955
                                                                                   60    54
                                                  500 000
                   状态空间  80  79                  状态空间  400 000  336 618          状态空间  50   34
                                                                                   40
                                                  300 000
                                                                                   30       29
                    40                            200 000                                17
                                                                                   20
                          15
                                                  100 000                          10
                     0                                0                            0
                        组合验证      整体验证                   组合验证     整体验证                组合验证      整体验证
                        状态空间      状态空间                   状态空间     状态空间                状态空间      状态空间
                         (a) 灯光控制系统                   (b) 智能家居控制子系统                 (c) 轨道交通控制子系统
                                        图 14 各案例组合验证与整体验证状态数对比结果
   19   20   21   22   23   24   25   26   27   28   29