CBMC公司

关于CBMC

电路 CBMC公司是有界的C和C++程序的模型检查器。它支持C89、C99、大部分C11/C17和gcc、clang和Visual Studio提供的最复杂的扩展。变体分析Java字节码的CBMC的JBMC公司.

CBMC验证内存安全性(包括数组边界检查和检查指针的安全使用),检查执行情况,检查未定义行为和用户指定行为的各种变体作为服务。此外,它还可以检查C和C++的I/O与其他语言(如Verilog)等效。验证是通过展开程序中的循环并传递将等式转化为决策程序。

CBMC公司适用于大多数风格的Linux(预打包Debian、Ubuntu和Fedora)、Windows和MacOS X。您应该同时阅读CBMC执照(BSD 4条款)。有关的问题CBMC公司,联系人丹尼尔·克罗宁.

CBMC提供了一个内置的位向量公式求解器,基于在MiniSat上。作为替代方案,CBMC还支持外部SMT自3.3版以来的解算器。我们推荐的解算器有(没有特别的订单)转向器,CVC5公司Z3公司.请注意,这些解算器需要单独安装并具有不同的许可条件。

CBMC新闻

我更新了网站。它有暗模式!

CBMC文件

我们还有一个列表,共个CBMC的有趣应用.

CBMC下载

我们正在维护用于x86 Linux、Windows和MacOS的CBMC。

窗户

下载哥伦比亚广播公司-5.95.1-win64.msi,然后双击进行安装。这是命令行的x64二进制文件(没有GUI)。您需要从Visual Studio命令提示.

我们建议您免费安装Visual Studio社区.

Debian公司
Ubuntu公司

虽然Debian和Ubuntu有一个cbmc包,但目前版本是5.12,已经有十多年的历史了。下载以下二进制文件之一包装:
64位Ubuntu 20.04/x64:ubuntu-20.04-cbmc-5.95.1-Linux.deb
64位Ubuntu 22.04/x64:ubuntu-22.04-cbmc-5.95.1-Linux.deb

    dpkg-i ubuntu-20.04-cbmc-5.95.1-Linux.deb(数字)
安装。

费多拉

在Fedora 18或更新版本上,您可以
    yum安装cbmc
这将为您提供5.50版。

MacOS操作系统

要获取CBMC的最新版本,请考虑使用自制软件,然后执行
    brew安装cbmc

这只是一个命令行工具,没有GUI。你需要有Xcode的命令行工具,可以下载通过运行Xcode应用程序或从在这里.

源代码

源代码可用在这里.

如果您需要的模型检查器考虑Verilog或SMV文件EBMC公司。对于Java,请使用JBMC公司.

这项研究由半导体研究所赞助根据合同编号99-TJ-684,国家科学公司(SRC)海军研究办公室CCR-9803774号基金会(NSF)(ONR),合同项下的海军研究实验室(NRL)编号N00014-01-1-0796和国防高级研究计划局,合同号为DAAD19-01-1-0485的陆军研究办公室(ARO),以及CMU的通用汽车合作研究实验室。视图和本文件中包含的结论是作者的结论,应不被解释为代表官方政策或暗示SRC、NSF、ONR、NRL、DOD、ARO或美国政府。