如何解释 NuXMV 的 msat LTL 命令的结果

How to interpret the Result of msat LTL commands of NuXMV

我正在使用 NuXMV 在相当大的模型上使用 msat_check_ltlspec_bmc 命令检查 LTL 属性。结果显示在给定范围内没有找到反例。我是否将其解释为 属性 为真。或者它也可能意味着分析不完整。

这是因为,通过改变属性命题为真或假,结果总是没有反例。大多数结果是违反直觉的。

从基于真实变量的属性开始,但由于无法理解结果,使用相同的命令在同一模型上转移到基于布尔的属性。

Bounded Model Checking 是一种面向错误的技术,它检查 属性 执行跟踪的有效性,直至给定长度 k

  • 当执行跟踪违反 属性 时,很好:发现了错误。

  • 否则,(在一般情况下)模型检查结果没有提供任何有用的信息,应该这样处理。

在某些情况下,了解有关模型的其他信息会有所帮助。特别是,如果知道每个长度为 k 的执行轨迹都必须循环回到 k-1 状态之一,则可以从缺少长度更小的反例中得出更有力的结论或等于 k.