英语法语西班牙语

Ad


OnWorks 网站图标

goto-cc - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 goto-cc

这是 goto-cc 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


cbmc - C/C++ 和 Java 程序的有界模型检查器

概要


生化危机 [ - 财产 属性 ID] 文件.c ...

生化危机 [--show-属性] 文件.c ...

生化危机 [--所有属性] 文件.c ...

转到抄送 [-一世 包含路径] [-C] 文件.c [-要么 输出文件]

转到仪器 入档 输出文件

这里只列出最有用的选项; 其余部分见下文。

商品描述


生化危机 生成证明如何违反断言的跟踪,或证明
在给定的循环迭代次数内不能违反断言。 CBMC 可以读取
直接源代码,或由 goto-cc 生成的 goto-binary。 Java程序被给出为
类文件。 没有任何进一步的选项,cbmc 检查所有属性(自动
生成或用户指定)在程序中找到。 如果任何属性都可以
违反,则打印反例并中止分析。 分析可以是
使用 --property 选项限制为特定属性。 验证结果
所有属性都可以通过 --all-properties 选项获得。

转到抄送 读取源代码,并生成一个goto-binary。 它的命令行界面是
旨在模仿 GCC(1). 特别要注意的是 转到抄送 区分
编译和链接阶段,就像 gcc 一样。 生化危机 期望一个转到二进制文件
链接已完成。

转到仪器 读取 goto-binary,执行给定的程序转换,然后
将生成的程序作为 goto-binary 写入光盘。

通常的流程是 (1) 使用 goto-cc 将源代码转换为 goto-binary,然后 (2)
使用 goto-instrument 执行检测,最后 (3) 执行分析
生化危机。

配置


FRONTEND 配置 (CBMC 转到-cc)
-I 路径
设置包含路径 (C/C++)

-D 宏
定义预处理器宏 (C/C++)

--预处理
预处理后停止

--显示符号表
显示符号表

--show-goto-函数
显示转到程序

建筑 配置 (CBMC 转到-cc)
生化危机 默认情况下使用与机器匹配的架构设置 生化危机 is
执行,即,仅在验证软件时才需要以下设置
旨在运行在不同的体系结构或操作系统上。 转到抄送 生成一个转到二进制文件
特定架构,即 goto-binary 之后架构不能改变
产生。

--16、--32、--64
设置 int 的宽度

--LP64,--ILP64,--LLP64,--ILP32,--LP32
设置 int、long 和指针的宽度

--小端
允许小端字字节转换

--大端
允许大端字字节转换

- 无符号的字符
默认情况下使“char”无符号

--arch 设置目标架构

--os 设置目标操作系统

--无拱
不要建立架构

--无图书馆
禁用内置抽象 C 库

--round-to-nearest,--round-to-plus-inf,--round-to-minus-inf,--round-to-zero
程序开始时使用的 IEEE 浮点舍入模式(默认为舍入
到最近)。 正在验证的程序可以覆盖此设置,例如,
围场(3)。

课程 仪器仪表 配置 (CBMC 转到仪器)
以上皆是 生化危机转到仪器 可以生成捕获特定常见错误的断言,
如下所列。

--边界检查
启用数组边界检查

--除以零检查
启用除以零检查

--指针检查
启用指针检查

--签名溢出检查
为有符号整数算法启用算术上溢和下溢检查

--无符号溢出检查
为无符号整数算术启用算术上溢和下溢检查

--nan-检查
检查 NaN 的浮点计算

--无断言
忽略用户提供的断言

--无假设
忽略用户提供的假设

--error-label 标签
检查给定的标签是否无法访问

课程 仪器仪表 配置 (转到仪器 只有)
转到仪器 支持进一步、更复杂的程序转换。

--非易失性
使从 volatile 变量的读取变得不确定

--isr 函数
检测具有给定名称的中断服务例程

--mmio 仪器内存映射 I/O

--nondet-静态
具有静态生命周期的变量被非确定性地初始化

--转储-c
输出 ANSI-C 源代码而不是 goto 二进制文件。

BMC 配置 (CBMC)
--所有属性
报告所有属性的状态

--显示属性
只显示属性

--显示循环
显示程序中的循环

--cover-断言
检查哪些断言是可达的

--函数名
设置主函数名

--属性ID
仅检查具有给定标识符的特定属性

--程序专用
只显示程序表达式

--深度nr
限制搜索深度

--放松nr
展开循环 nr 次

--unwindset L:B,...
以 B 为界展开循环 L(使用 --show-loops 获取循环 ID)

--显示-vcc
显示验证条件

--切片公式
删除与财产无关的分配

--无展开断言
不生成展开断言

--没有漂亮的名字
不要简化标识符

后端 配置 (CBMC)
--迪马克斯
生成 DIMACS 格式的 CNF 以供外部 SAT 求解器使用

--美化贪婪
美化反例(贪心启发式)

--smt1 SMT1 语法中的输出子目标(实验性)

--smt2 SMT2 语法中的输出子目标(实验性)

--布尔型
使用 Boolector(实验性)

--数学卫星
使用 MathSAT(实验性)

--cvc 使用 CVC3(实验性)

--yices
使用 Yices(实验性)

--z3 使用 Z3(实验性)

--细化
使用细化程序(实验)

--outfile 文件名
输出公式到给定文件

--arrays-uf-从不
永远不要将数组变成未解释的函数

--arrays-uf-总是
始终将数组转换为未解释的函数

环境


所有工具在生成临时文件和
目录。 此外请注意,CBMC 使用的预处理器将使用环境
变量来定位头文件。 GOTO-CC 旨在接受所有环境变量
海湾合作委员会可以。

版权


2001-2014,丹尼尔·克罗宁,埃德蒙·克拉克

使用 onworks.net 服务在线使用 goto-cc


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad