基于稳定性抽象的逆向工程算法及应用
1 稳定性抽象算法概述
在构建抽象自动机结构时,需检查对于每对 $(p1, p2) \in \Phi \times \Phi$,是否存在 $p1$ 中的(可达)$\sigma$ - 稳定状态,满足 $(s1, ℓ, s2) \models Trans$ 且 $M_{\tau}, s2 \models E(\neg\sigma U (\sigma \land p2))$。然而,无限状态系统的可达性分析和 (C/)LTL 模型检查是不可判定问题。以往的工作利用抽象解释框架对静默转换不变的区域进行过近似计算,这种方法也会对具体系统非确定性产生的多个稳定目标进行过近似。
我们的方法则聚焦于有界稳定性定义,精确处理底层具体系统的非确定性。通过收集动作的实际可见后果信息,考虑不需要在具体系统中进行不动点计算的稳定性标准,并对不稳定路径设置界限进行可达性分析的欠近似。具体而言,我们的算法采用迭代加深方法,逐步考虑更长的不稳定运行完成路径,以寻找下一个稳定条件。
直观上,我们通过从 $s1$ 进行有界可达性分析,搜索连接 $p1$ 中的具体 $\sigma$ - 稳定状态 $s1$ 和 $p2$ 中的 $\sigma$ - 稳定状态的具体路径,为抽象转换 $(p1, ℓ, p2)$ 寻找具体见证。该算法为稳定性自动机构建了符号表征,通过逐步构建表征 $M_{\tau}$ 连接两个 $\sigma$ - 稳定状态的所有路径的公式,并将其投影到 $P$ 变量上,从而符号化地获得具有该长度见证的所有抽象转换。此外,通过对 $I$ 和 $O$ 变量进行投影,我们可以提取守卫和效果公式。与经典的谓词抽象实例化相比,我们的方法通过强制具体状态从初始条件可达来细化抽象转换。
基于稳定性抽象的逆向工程方法
超级会员免费看
订阅专栏 解锁全文
801

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



