简单的模型检查工具

时间:2008-10-20 16:00:56

标签: c++ model

是否有简单的模型检查工具。我计划实现一个模型检查工具,它将分析一些预定义属性的代码。

2 个答案:

答案 0 :(得分:5)

一个重要的工具是SPIN,使用Promela语言。如果您使用LaTeX,还有TLA+

这些不会分析您的代码,但会让您表达您的假设和状态转换的模型,然后分析无效状态。换句话说,它们将检测模型中的问题,而不是模型的实现。

我看过Goanna的演示,但我不知道它是否可用(商业或其他);这具有实际分析源代码的优势。

只要再看一下你的问题以及你问题中的评论,听起来你应该首先阅读一些文献。也许,The Spin Model CheckerSpecifying Systems(可从Leslie Lamport's website下载)。您需要重新构建问题,这样才不会尝试解决暂停问题。

答案 1 :(得分:2)

CBMC是一个简单的工具,我知道它实际上是在代码上运行的。模型检查通常是一个研究很多的领域,但是正如人们已经评论过的那样,这种广度使得很难用所提供的信息提出建议。有成千上万的SAT解算器,HDL /状态机验证的正式工具,以及大量商用静态源分析器。

无论如何,CBMC是一个很好的工具,但不要相信我的意思;这项工作背后的主要教员埃德克拉克今年赢得了图灵奖; - )