C++ 简单模型检查工具

C++ 简单模型检查工具,c++,model,C++,Model,是否有一个简单的模型检查器工具。我计划实现一个模型检查器工具,该工具将分析一些预定义属性的代码。是一个简单的ish工具,我知道它实际上在代码上运行。一般来说,模型检查是一个深入研究的领域,但正如人们已经评论的那样,这种广度使得很难根据提供的信息提出建议。有数千个SAT解算器、用于HDL/状态机验证的正式工具和大量商用静态源分析器 无论如何,CBMC是一个很好的工具,但不要相信我的话;这项工作背后的主要教员埃德·克拉克获得了今年的图灵奖;-) 一个重要的工具是,使用Promela语言。如果你使用乳

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

是一个简单的ish工具,我知道它实际上在代码上运行。一般来说,模型检查是一个深入研究的领域,但正如人们已经评论的那样,这种广度使得很难根据提供的信息提出建议。有数千个SAT解算器、用于HDL/状态机验证的正式工具和大量商用静态源分析器

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

一个重要的工具是,使用Promela语言。如果你使用乳胶,还有

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

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


再看看你的问题和问题中的评论,听起来你真的应该先读一些文献。也许,或者(可从下载)。你需要重新设计你的问题,这样你就不会试图解决停顿问题。

我认为你应该试着更仔细地解释你在寻找什么……我认为你应该修改你的问题,使它更清晰。这个问题可能与十几个不同的模型检查场景有关。一个维护STAE的模型检查工具。i、 例如,我计划实现一个可以判断应用程序是否终止的工具。(只是静态分析)呃哦。。这被称为停止问题(),并且已经证明是难以解决的:-)停止问题是不可判定的。这并不意味着不能进行分析:一个维护状态的模型检查器工具。i、 例如,我计划实现一个可以判断应用程序是否终止的工具。(只是静态分析)真的吗?这似乎有点难();-)@MattJ很难,但并非不可能。如果CBMC证明您的程序正确且没有运行时错误/异常,它也证明终止。停止的问题只是说,它不是所有程序都可以决定的。对于几类程序来说,它是微不足道的可判定的+1尽管提到CBMC,它还是一个很好的工具。