Session 14: 工具论文
1. 引言
在计算机辅助验证(CAV)领域,工具论文占据了非常重要的位置。这些论文不仅展示了新工具的功能和设计,还提供了实际应用中的性能评估和案例研究。本文将介绍几款在形式验证和模型检查领域具有代表性的工具,探讨它们的设计理念、实现方法和应用场景。通过这些工具的介绍,读者可以更好地理解如何选择和使用适合自己的验证工具,从而提高工作效率和验证精度。
2. 工具简介
2.1 Cascade: C断言检查器和演绎引擎
Cascade是一款用于检查C程序中断言的工具,旨在作为多阶段验证策略的一部分。Cascade接收C程序和一个控制文件作为输入,控制文件指定了一个或多个需要检查的断言,以及(可选地)对程序行为的一些限制。对于每个断言,Cascade会生成一个违反断言的具体执行路径,或是一个证明断言不会被违反的演绎证明。
2.1.1 设计架构
Cascade由大约6000行C++代码组成,其总体设计如图1所示。核心模块接收一个代表C程序的抽象语法树和一个控制文件,后者指定了一个或多个需要检查的潜在错误。核心模块使用符号模拟遍历抽象语法树,构建与控制文件中指定的断言相对应的验证条件。
graph TD;
A[抽象语法树] --> B[核心模块];
C[控制文件] --> B;
B --> D[验证条件];
B --> E[符号模拟];
E --> F[具体执行路径或演绎证明];
超级会员免费看
订阅专栏 解锁全文
5897

被折叠的 条评论
为什么被折叠?



