异步系统有界可达性检查与矩阵不变量和类型推断
异步系统有界可达性检查
在异步系统的有界可达性检查中,有几种不同的技术和方法,下面将详细介绍。
不同技术概述
- 有界事件追踪(Bounded Event Tracing) :该方法直接基于最新写操作的发生位置进行条件判断,在读写之间没有用于保存数据值的中间编码符号。
- CheckFence :基于类似CBMC的单个C线程展开以及用于建模线程间通信的额外约束。它以普通顺序内存模型的编码为基线,旨在发现宽松内存模型下的特定错误。在编码中,上下文切换不明确,而是使用符号编码单个读写操作之间的潜在因果关系,类似于有界事件追踪中的潜在链接。其提出的编码规模为立方级,在很多方面类似于始终使用读操作的测试弧和写操作的输入/输出弧所得到的结果。不过,它未讨论二次规模编码或生产和消费值解耦的可能性。
- 基于展开(Unfoldings)的方法 :这是一种完全不同的并发系统符号技术,展开是将状态空间表示为固定形式的(无限)低级Petri网的偏序表示。通过获取展开的合适有限前缀,并将其行为和所需属性编码为SAT问题来进行模型检查。由于展开是无环的,编码较为简单。但实际上,生成展开前缀是最昂贵的部分。若直接从展开中获取展开式,将意味着放弃符号数据以及位置和转换之间的任意连接。
状态机模型的展开
为了进行概念验证,我们将为一类状态机模型设计一个简单的机械展开方案,并将其与有界模型检查(Bounded Model Checking,BM
超级会员免费看
订阅专栏 解锁全文
22

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



