当前位置: X-MOL 学术arXiv.cs.FL › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Context-Bounded Verification of Liveness Properties for Multithreaded Shared-Memory Programs
arXiv - CS - Formal Languages and Automata Theory Pub Date : 2020-11-09 , DOI: arxiv-2011.04581
Pascal Baumann, Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche

We study context-bounded verification of liveness properties of multi-threaded, shared-memory programs, where each thread can spawn additional threads. Our main result shows that context-bounded fair termination is decidable for the model; context-bounded implies that each spawned thread can be context switched a fixed constant number of times. Our proof is technical, since fair termination requires reasoning about the composition of unboundedly many threads each with unboundedly large stacks. In fact, techniques for related problems, which depend crucially on replacing the pushdown threads with finite-state threads, are not applicable. Instead, we introduce an extension of vector addition systems with states (VASS), called VASS with balloons (VASSB), as an intermediate model; it is an infinite-state model of independent interest. A VASSB allows tokens that are themselves markings (balloons). We show that context bounded fair termination reduces to fair termination for VASSB. We show the latter problem is decidable by showing a series of reductions: from fair termination to configuration reachability for VASSB and thence to the reachability problem for VASS. For a lower bound, fair termination is known to be non-elementary already in the special case where threads run to completion (no context switches). We also show that the simpler problem of context-bounded termination is 2EXPSPACE-complete, matching the complexity bound---and indeed the techniques---for safety verification. Additionally, we show the related problem of fair starvation, which checks if some thread can be starved along a fair run, is also decidable in the context-bounded case. The decidability employs an intricate reduction from fair starvation to fair termination. Like fair termination, this problem is also non-elementary.

中文翻译:

多线程共享内存程序活性属性的上下文有界验证

我们研究了多线程、共享内存程序的活性属性的上下文有界验证,其中每个线程可以产生额外的线程。我们的主要结果表明,上下文有界公平终止对于模型是可判定的;上下文有界意味着每个产生的线程可以被上下文切换固定的恒定次数。我们的证明是技术性的,因为公平终止需要对无限多的线程的组合进行推理,每个线程都有无限大的堆栈。事实上,关键依赖于用有限状态线程替换下推线程的相关问题的技术并不适用。相反,我们引入了带有状态 (VASS) 的向量加法系统的扩展,称为带气球的 VASS (VASSB),作为中间模型;它是一个具有独立兴趣的无限状态模型。VASSB 允许代币本身是标记(气球)。我们表明,对于 VASSB,上下文有界公平终止简化为公平终止。我们通过展示一系列简化来证明后一个问题是可判定的:从公平终止到 VASSB 的配置可达性,然后到 VASS 的可达性问题。对于下限,在线程运行完成(没有上下文切换)的特殊情况下,公平终止已知是非基本的。我们还表明,上下文有界终止的更简单问题是 2EXPSPACE-complete,匹配复杂性界限——实际上是技术——用于安全验证。此外,我们展示了公平饥饿的相关问题,它检查某个线程是否可以在公平运行中饥饿,在上下文有界的情况下也是可判定的。可判定性采用了从公平饥饿到公平终止的复杂减少。与公平终止一样,这个问题也是非基本问题。
更新日期:2020-11-13
down
wechat
bug