Model checking 最先进的模型检查器的状态空间大小

Model checking 最先进的模型检查器的状态空间大小,model-checking,nusmv,Model Checking,Nusmv,现代模型检查器的近似最大状态空间大小是多少。 我不需要确切的数字,但需要一些状态大小值,其中运行时间仍然可以接受(比如几周) 除了符号模型检查外,还有哪些改进措施用于提高该限制?答案各不相同,除其他因素外,取决于: 使用什么模型检查算法 系统是如何表示的 如何实现模型检查器(或其他工具) 软件运行在什么硬件上(以及并行化等) 我不会提及一些特定数量的状态,而是会注意一些相关因素(我使用下面的“规范”作为“模型”的同义词): 符号或枚举:符号算法的规模不同于枚举算法。此外,对于同一问题,已知

现代模型检查器的近似最大状态空间大小是多少。 我不需要确切的数字,但需要一些状态大小值,其中运行时间仍然可以接受(比如几周)


除了符号模型检查外,还有哪些改进措施用于提高该限制?

答案各不相同,除其他因素外,取决于:

  • 使用什么模型检查算法
  • 系统是如何表示的
  • 如何实现模型检查器(或其他工具)
  • 软件运行在什么硬件上(以及并行化等)
我不会提及一些特定数量的状态,而是会注意一些相关因素(我使用下面的“规范”作为“模型”的同义词):

  • 符号或枚举:符号算法的规模不同于枚举算法。此外,对于同一问题,已知符号算法和枚举算法的计算复杂度通常存在差异

  • 枚举在行为上是相对可预测的,因为具有
    N个
    状态的状态空间很可能比具有
    1000000*N个
    状态的状态空间的枚举时间更短

  • 基于(BDD)的符号方法的行为方式(几乎)与基于规范可访问的状态数量无关。主要因素是规范编码中出现了哪种布尔函数

    例如,涉及乘法器的规范将导致表示状态的,因此大小在状态数量上是线性的(假设可到达状态的数量比用于表示这些状态的位的数量成倍增加)。在这种情况下,具有
    2^50
    状态的状态空间可能会受到符号分析的限制

    换句话说,重要的不仅是状态数,还有系统动作对应的布尔函数类型(TLA+中的动作对应于其他形式中的转换关系)。此外,选择不同的编码(按位编码整数)可能会影响BDD大小

  • (例如,部分降阶)和抽象是对更复杂系统分析方法的一些改进

  • 可接受的运行时是一个相对的概念。无论采用何种模型检查方法,在模型的保真度达到可用时间时总是有一个限制

另一种方法是编写具有未指定参数的规范,然后使用模型检查器查找与小参数值对应的规范实例中的错误,并在更正这些错误后,使用定理证明器确保规范的正确性。此方法由的工具支持,即模型检查器和定理证明器

关于术语(“上述规范”),请参见Leslie Lamport

还值得注意的是,根据方法的不同,状态数和可达状态数可以是不同的概念。通常,这在类型化形式中很重要:我们可以指定一个具有1个可到达状态的系统,但声明的变量类型会导致更多的状态,其中大多数状态是从初始条件无法到达的。在符号方法中,这会影响编码,从而影响BDD的大小

与状态空间大小相关的引用:

  • Bwolen Yang,Randal E.Bryant,David R.O'Hallaron,Armin Biere,Olivier Coudert,Geert Jansen,Rajeev K.Ranjan,Fabio Somenzi,FMCAD,1998年,内政部:

  • Radek Pelánek,STTT,2008,内政部:(和一份相关报告)

  • Radek Pelánek,SPIN,2004年,内政部:

  • Yunja Choi,从NuSMV到SPIN:模型检查飞行制导系统的经验,FMSD,2007,内政部:

  • J.R.Burch,E.M.Clarke,K.L.McMillan,D.L.Dill,L.J.Hwang,LICS,1990年,内政部:


答案千差万别,取决于以下因素:

  • 使用什么模型检查算法
  • 系统是如何表示的
  • 如何实现模型检查器(或其他工具)
  • 软件运行在什么硬件上(以及并行化等)
我不会提及一些特定数量的状态,而是会注意一些相关因素(我使用下面的“规范”作为“模型”的同义词):

  • 符号或枚举:符号算法的规模不同于枚举算法。此外,对于同一问题,已知符号算法和枚举算法的计算复杂度通常存在差异

  • 枚举在行为上是相对可预测的,因为具有
    N个
    状态的状态空间很可能比具有
    1000000*N个
    状态的状态空间的枚举时间更短

  • 基于(BDD)的符号方法的行为方式(几乎)与基于规范可访问的状态数量无关。主要因素是规范编码中出现了哪种布尔函数

    例如,涉及乘法器的规范将导致表示状态的,因此大小在状态数量上是线性的(假设可到达状态的数量比用于表示这些状态的位的数量成倍增加)。在这种情况下,具有
    2^50
    状态的状态空间可能会受到符号分析的限制

    换句话说,重要的不仅是状态数,还有系统动作对应的布尔函数类型(TLA+中的动作对应于其他形式中的转换关系)。此外,选择不同的编码(按位编码整数)可能会影响BDD大小

  • (例如,部分订单缩减)和ABS