异步系统中的有界可达性检查与矩阵不变量和类型推断
1 异步系统有界可达性检查方法概述
在异步系统的有界可达性检查中,有多种方法可供选择。Bounded Event Tracing 直接基于最新写操作的发生位置进行条件判断,不存在用于保存读写之间数据值的中间编码符号。
1.1 CheckFence 方法
CheckFence 基于类似 CBMC 的单个 C 线程展开以及用于建模线程间通信的额外约束。它旨在在宽松内存模型下查找特定的错误,以普通顺序内存模型的编码作为基线。与其他方法不同,它在编码中不明确表示上下文切换,而是使用符号来编码单个读写操作之间的潜在因果关系,类似于 Bounded Event Tracing 中的潜在链接。其提出的编码规模为立方级,在很多方面类似于始终使用读操作的测试弧和写操作的输入/输出弧。
1.2 基于展开的符号技术
另一种用于并发系统的完全不同的符号技术基于展开。展开是将状态空间表示为固定形式的(无限)低级 Petri 网的偏序表示。模型检查通过获取展开的合适有限前缀,并将其行为和所需属性编码为 SAT 来执行。由于展开是无环的,编码相对简单。不过,展开前缀的生成在实践中是最昂贵的部分。
1.3 状态机模型的展开
为了进行概念验证,我们为一类状态机模型设计了一个简单的机械展开方案,并将其与有界模型检查(BMC)进行实验比较。输入是 DVE 建模语言的一个子集。
1.3.1 DVE 系统概述
DVE 系统由固定的通信通道和进程集合组成,进程的行为由通过边连接的控制位置定义。系统的动作有两种:一是不同进程中两条边的同时触发
超级会员免费看
订阅专栏 解锁全文
17

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



