模态转换系统:三值程序分析的基础
1. 引言
在程序分析领域,模态转换系统(MTS)是一种强大的工具。传统的状态转换建模通常是通过添加更多计算路径进行过度近似,这限制了验证仅针对安全属性。而MTS不仅可以进行过度近似,还能进行欠近似,使得安全属性和活性属性都能被推导出来。MTS的分析结果是三值的,这意味着可以在该框架内进行验证、反驳和条件推理,并且能够对控制和数据进行抽象建模。
以一个老虎机的规范为例,MTS通过“must”和“may”两种模态对状态转换进行标记,“must”表示必然发生的转换,“may”表示可能发生的转换,而没有转换则表示不可能发生的行为。
接下来,我们将详细介绍相关的基础概念和系统。
2. 双标记转换系统
双标记转换系统(DLTS)是一个元组 (K = (\Sigma_K, Act, AP, \rightarrow, L)),其中:
- (\Sigma_K) 是状态集合。
- (Act) 是(可数的)动作符号集合。
- (AP) 是(可数的)原子命题集合。
- (\rightarrow) 是转换关系,是 (\Sigma_K \times Act \times \Sigma_K) 的子集。
- (L) 是标记函数 (L: \Sigma_K \rightarrow P(AP))。
如果对于每个 (s \in \Sigma_K) 和 (a \in Act),集合 (L(s)) 和 ({s’ \in \Sigma_K | s \rightarrow_a s’}) 都是有限的,则称 (K) 是有限分支的。
行为通过模拟进行比较:
超级会员免费看
订阅专栏 解锁全文

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



