超属性软件验证:超越 k - 安全属性的探索
在软件验证领域,对超属性的验证是一个重要的研究方向。本文将深入探讨超属性的验证方法,特别是如何超越 k - 安全属性,实现对更复杂的 ∀∗∃∗ 属性的验证。
1. 安全属性与符号安全自动机
在超属性的验证中,我们首先假设超属性在时间上是安全的,即任何 OHyperLTL 公式的时间主体都表示一个安全属性。同时,虽然我们关注安全属性,但由于支持量词交替,仍然可以表达超活性属性,例如 GNI 既是时间安全的,又是超活性的。
为了对公式进行建模,我们使用符号安全自动机。符号安全自动机是一个元组 (A = (Q, q_0, \delta, B)),其中:
- (Q) 是一个有限状态集。
- (q_0 \in Q) 是初始状态。
- (B \subseteq Q) 是一组坏状态。
- (\delta) 是一组有限的自动机边,形式为 ((q, \theta, q’)),其中 (q, q’ \in Q) 是状态,(\theta) 是关于 (\vec{X}) 的公式。
给定一个关于 (\vec{X}) 赋值的轨迹 (t),自动机 (A) 在 (t) 上的运行是一个从 (q_0) 开始的无限状态序列 (q_0q_1 \cdots),使得对于每个 (i),存在一条边 ((q_i, \theta_i, q_{i + 1}) \in \delta),满足 (t(i) \models \theta_i)。如果一个单词没有访问到 (B) 中的状态的运行,那么它被自动机 (A) 接受。如果对于每个 (q \in Q) 和每个对 (\vec{X}) 的赋值 (\mu),恰好存在一条边 ((q, \theta
超级会员免费看
订阅专栏 解锁全文
1930

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



