Session 16: 工具论文
1. 引言
在计算机辅助验证(CAV)领域,工具论文的重要性不言而喻。这些论文不仅展示了最新的研究成果,还提供了实际应用中的验证工具和技术。本章节将介绍几篇精选的工具论文,涵盖不同类型的验证工具及其应用案例。我们将深入探讨这些工具的技术细节,如算法、实现方法和性能评估,帮助读者理解这些工具如何在实际项目中发挥作用。
2. Cascade: C 断言检查器和演绎引擎
2.1 概述
Cascade 是一款用于检查 C 程序中断言的工具,作为多阶段验证策略的一部分。Cascade 接受一个 C 程序和一个控制文件作为输入,后者指定了一个或多个需要检查的断言以及(可选地)一些程序行为的限制。对于每个断言,Cascade 会生成一条违反该断言的具体执行路径或一个证明该断言不会被违反的演绎证明。
2.2 系统设计
Cascade 的总体设计如图 1 所示。核心模块接收一个代表 C 程序的抽象语法树和一个控制文件,后者指定了一个或多个需要检查的潜在错误。核心模块使用符号模拟遍历抽象语法树,构建与控制文件中指定的断言相对应的验证条件。C 语句的语义被硬编码到核心模块使用的转换规则中,这些规则将 C 语句转换为逻辑公式。
graph TD;
A[抽象语法树] --> B[核心模块];
C[控制文件] --> B;
B --> D[验证条件];
B --> E[符号模拟];
E --> F[演绎证明或具体路径];
超级会员免费看
订阅专栏 解锁全文
5899

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



