Spin的“深度达到”会考虑什么样的状态和过渡?

时间:2017-06-21 19:25:49

标签: verification model-checking spin promela

对于使用从不声明的验证(使用ispin),我得到的输出depth reached大于状态数和转换数,例如:

Full statespace search for:
    never claim             + (REQ5)
    assertion violations    + (if within scope of claim)
    cycle checks        - (disabled by -DSAFETY)
    invalid end states  - (disabled by never claim)

State-vector 60 byte, depth reached 87, errors: 1
       41 states, stored
       10 states, matched
       51 transitions (= stored+matched)
        9 atomic steps
hash conflicts:         0 (resolved)

我觉得有点不直观。是否有某个地方“深度达到”的语义的精确描述(比pan's output format description更彻底)?也许是

的意思
  

最长深度优先搜索路径包含87个转换

不是指51个转换,而是指从未声明的系统自动机的转换?

1 个答案:

答案 0 :(得分:2)

是的,当你说它指的是由永不索赔组成的系统自动机的转换时,你是对的。然而,同时它是系统中路径的长度被验证,因为从未声明的系统组成的一个步骤恰好是系统的一个步骤。当然,根据从未声称,可能需要探索比系统更多或更少的过渡。路径甚至不需要循环(取决于声明),甚至不是最小的(除非设置了特殊选项)。