[论文解读] Saturation of Concurrent Collapsible Pushdown Systems
本文提出了一种基于饱和的算法,用于解决并发可折叠下推系统(CCPDS)中的全局控制状态可达性问题,重点关注有序、相位有界和作用域有界变体。通过将饱和技术扩展至转移自动机和分层状态表示,作者建立了可判定性,并提供了所有可达配置的正则表示,为具有复杂过程调用的高阶并发程序验证奠定了基础。
Multi-stack pushdown systems are a well-studied model of concurrent computation using threads with first-order procedure calls. While, in general, reachability is undecidable, there are numerous restrictions on stack behaviour that lead to decidability. To model higher-order procedures calls, a generalisation of pushdown stacks called collapsible pushdown stacks are required. Reachability problems for multi-stack collapsible pushdown systems have been little studied. Here, we study ordered, phase-bounded and scope-bounded multi-stack collapsible pushdown systems using saturation techniques, showing decidability of control state reachability and giving a regular representation of all configurations that can reach a given control state.
研究动机与目标
- 为解决并发可折叠下推系统(CCPDS)中可达性问题缺乏可判定性结果的问题,CCPDS用于建模并发程序中的高阶过程调用。
- 将先前用于一阶下推系统的饱和技术扩展至处理可折叠下推栈的高阶结构。
- 证明有序、相位有界和作用域有界CCPDS的全局控制状态可达性问题的可判定性,并提供所有可达配置的正则表示。
- 克服将MSO框架泛化至CCPDS的挑战,因为MSO理论在二阶栈上是不可判定的。
提出的方法
- 引入转移自动机以封装饱和算法的行为,支持对栈配置的模块化推理。
- 通过广义的扩展下推系统概念,将Atig针对有序下推系统的算法推广至有序CCPDS。
- 对作用域有界的CCPDS采用反向分析,借鉴La Torre和Napoli针对一阶系统的正向分析方法。
- 使用分层状态表示来精确跟踪栈操作(压栈、弹栈、折叠、重写、无操作),并精确控制折叠和弹栈轮次。
- 采用Savitch算法将空间复杂度限制在$\mathcal{O}(2\uparrow_{n-1}(f(\zeta,\ell)))$,其中$n$为栈阶数,$\ell$为控制状态数。
- 构建所有可到达目标控制状态的配置的正则表示,确保其有限且有效。
实验结果
研究问题
- RQ1有序并发可折叠下推系统中的全局控制状态可达性是否可判定?
- RQ2饱和技术能否扩展至相位有界和作用域有界的CCPDS,以实现可判定性?
- RQ3能否为这些CCPDS类计算出所有可达配置的正则表示?
- RQ4这些模型中可达性问题的复杂度界限是什么?
- RQ5鉴于二阶栈上MSO理论的不可判定性,能否将依赖于MSO可判定性的通用框架泛化至CCPDS?
主要发现
- 通过结合转移自动机的扩展饱和方法,有序CCPDS的全局控制状态可达性是可判定的。
- 该方法提供了所有可到达给定控制状态的配置的正则表示,支持有效分析。
- 可达性求解的空间复杂度上限为$\mathcal{O}(2\uparrow_{n-1}(f(\zeta,\ell)))$,其中$n$为栈阶数,$\ell$为控制状态数。
- 作用域有界的CCPDS的解决方案通过一种新颖的反向分析实现,将一阶技术泛化至高阶栈。
- 相位有界的CCPDS通过相同的饱和机制被证明是可判定的,详见附录F。
- 本文证明了对二阶栈的朴素编码其MSO理论是不可判定的,凸显了将MSO框架泛化至CCPDS的挑战。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。