16、级联:C断言检查器和演绎引擎

级联:C断言检查器和演绎引擎

1. 工具介绍

Cascade 是一个用于检查 C 程序中断言的工具,作为多阶段验证策略的一部分。它接收 C 程序和一个控制文件作为输入,该控制文件指定了一个或多个需要检查的断言以及(可选的)对程序行为的一些限制。对于每个断言,Cascade 会产生一个违反该断言的具体执行路径,或者生成一个证明表明该断言不会被违反。

2. 设计架构

Cascade 的总体设计包括一个核心模块,该模块接收代表 C 程序的抽象语法树(AST)和一个控制文件,构建与控制文件中指定的断言相对应的验证条件。以下是 Cascade 的设计架构图:

graph TD;
    A[Cascade] --> B[核心模块];
    B --> C[抽象语法树];
    B --> D[控制文件];
    B --> E[定理证明器接口];
    B --> F[内存模块];
    C --> G[EDG 解析器];
    E --> H[CVC Lite];
    F --> I[整数数组内存模型];

3. 技术细节

3.1 抽象语法树

Cascade 使用抽象语法树的内部表示形式,并且目前使用 EDG(一个强大的 C 程序解析器)作为前端来创

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值