组件化软件验证与可恢复系统测试的技术探索
组件化软件验证:最小假设生成方法
在组件化软件的假设 - 保证验证中,生成最小假设是一个关键问题。获取较小的假设具有多方面的优势:
- 降低验证成本 :基于组件的系统(CBS)的模块化验证通过对并行组合规则进行模型检查来完成,而假设是其中的一个组成部分。假设的大小会影响检查的计算成本,较小的假设(状态数量少、转换次数少)可以降低CBS的验证成本。
- 减少重新检查成本 :在软件演化过程中,当某个组件进行了改进后,需要对整个演化后的CBS进行重新检查。此时,复用较小的假设可以降低重新检查的成本。
- 便于人类理解 :较小的假设意味着行为更简单,更易于人类理解,这对于大规模系统的检查非常有帮助。
实验结果表明,由于实验中使用的系统规模较小,当前方法和本文提出的方法在生成假设的时间上差异不大。实际上,另一种方法在生成假设时通常耗时更短。然而,如果考虑到上述优势,本文方法生成的最小假设在重新检查CBS或为演化后的CBS重新生成假设时非常有用。不过,本文方法中使用的广度优先搜索可能不太实用,因为它消耗的内存过多,对于大型系统,生成最小假设的计算成本非常高。
为了解决这个问题,可以使用迭代加深深度优先搜索。这种搜索策略结合了深度优先搜索的空间效率和广度优先搜索的最优性,通过反复运行深度受限的深度优先搜索,并逐步增加深度限制来实现。使用这种搜索策略生成的假设比另一种方法生成的假设更小,但可能不是最小的。
此外,本文方法还存在一个问题,即队列需要存储数量呈指数级增长的观察表,这使得该方法在大规
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



