程序分析技术:ASTRÉE 与过程间 Herbrand 等式分析
1 ASTRÉE 分析器概述
ASTRÉE 分析器是一款在程序分析领域表现卓越的工具,尤其适用于大型嵌入式控制命令安全关键实时软件。它基于抽象解释技术,能够自动证明现实生活中大型工业同步程序不存在运行时错误,是一款名副其实的验证器。
1.1 抽象域的相对精度
在 ASTRÉE 中,算术 - 几何级数抽象域是一种复杂的抽象域,它可以有利地替代之前使用的时钟域。时钟域将每个变量 X 与有界时钟 C 相关联,通过 X - C 和 X + C 的区间间接从用户提供的时钟 C 边界来界定 X。而算术 - 几何级数抽象域则提供了更精确的分析方式。
1.2 符号抽象示例
ASTRÉE 中包含多种符号抽象域,以下为您详细介绍:
- 内存抽象 :是 ASTRÉE 中符号域的一个示例,它提供了对程序内存的抽象模型。
- 符号常量域 :类似于 Kildall 的常量传播抽象域,但它记忆的是符号表达式 e 而非数值常量。它能跟踪变量之间的符号关系并进行简化,例如将 Z = X; Y = X - Z 简化为 Z = X; Y = 0,这种关系信息对区间抽象域至关重要。
- 布尔关系域 :用于处理同步程序控制中布尔值的使用。它是一种具有布尔基的约化基数幂,以共享决策树(类似 BDD)实现,叶子节点带有指数。该域在布尔变量的最大数量和叶子节点涉及的变量包方面是参数化的,最大数量 3 是通过实验确定的,并且打包是自动化的。
- 扩
超级会员免费看
订阅专栏 解锁全文
1205

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



