搭建流程参考以上链接。
该插件不支持高版本的vs,本人选择了vs2012版,安装结束后按照流程成功出现了CPROVER属性框,点击Show Properties出现以下错误
原文中出现这么一句:We furthermore assume that you already have one of the CPROVER tools (CBMC or SATABS) installed in a directory that is listed in the PATH environment variable.所以我判断是缺少这个CPROVER tools的原因。进入CBMC链接中可以发现一个cbmc-5-10-win.zip的压缩包,解压后得到三个exe文件,其中包含cbmc.exe。
接下来应该是设置cbmc的路径,这里还不清楚这个路径指的是什么,可能是需要把它复制到vs项目中?也可能是环境变量。尝试放入项目下以及vs目录下,都失败。尝试设置为环境变量,失败。转化思路,再次阅读原文,发现遗漏点:You will furthermore need to run CBMC from the Visual Studio Command Prompt。首先尝试用cmd运行cbmc.exe
提示需要提供验证程序,证明exe文件正常。
使用Visual Studio Command Prompt运行cbmc.exe
似乎没有区别,可能是我使用方法的问题。
最后发现这里的environment指的不是环境变量,而是选项options中的environment。。。。
设置好之后出现新的问题
代码如下
删除Windows头文件后
此时的代码如下
检查该工具,发现不匹配的地方
此处添加检测程序,选择add发现只能添加.c文件,该项目源文件为cpp,可能是此处的问题。更改为c文件问题依然存在。
更改代码后问题解决,未报错。
进行验证实验
确认无bug
人工加入bug进行验证
会报错,暂时认定cbmc安装成功。