线性进程状态空间缩减:基于控制流重构的方法
1. 引言
在当今社会,计算机系统的正确性验证至关重要。模型检查作为一种有效的验证方法,通过对状态空间的全面探索来验证系统的正确性。然而,对于并发系统而言,状态空间爆炸问题成为了这一方法的主要障碍,即使是小型系统的规范也可能产生巨大甚至无限的状态空间。
为了解决这一问题,人们开发了中间符号表示法,如Petri网和线性进程方程(LPEs),可以直接对其进行缩减操作,避免了先生成状态空间再进行缩减的低效过程。本文主要关注LPEs,它是进程代数语言μCRL的中间格式,通过线性化过程,任何μCRL规范都可以转换为LPE。
LPE是一种扁平的进程描述,由一系列的求和项组成,每个求和项可以在满足一定条件时执行一个动作并将系统推进到下一个状态。直接对LPE进行缩减可以显著减小状态空间,节省内存和时间。然而,使用LPE时会遇到一个问题,即原始并行进程的显式控制流信息在合并为线性形式时丢失了,有些控制流信息可能已经编码在原始规范的状态参数中。
为了解决这个问题,本文提出了一种新的方法,包括两个步骤:首先重构LPE的控制流,检测由线性化引入的以及原始规范中已编码的控制流参数;然后基于数据流分析技术,将无关的参数重置为其初始值。该方法具有以下贡献:
- 提出了一种新颖的线性进程控制流重构方法,填补了相关领域的空白。
- 利用重构的控制流进行数据流分析,重置无关状态参数,并证明了转换后的系统与原始系统强双模拟,且状态空间不会增加。
- 在名为stategraph的工具中实现了该方法,并通过多个示例展示了显著的缩减效果。
超级会员免费看
订阅专栏 解锁全文

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



