We study the safety verification problem for parameterized systems under the release-acquire (RA) semantics. It has been shown that the problem is intractable for systems with unlimited access to atomic compare-and-swap (CAS) instructions. We show that, from a verification perspective where approximate results help, this is overly pessimistic. We study parameterized systems consisting of an unbounded number of environment threads executing identical but CAS-free programs and a fixed number of distinguished threads that are unrestricted. Our first contribution is a new semantics that considerably simplifies RA but is still equivalent for the above systems as far as safety verification is concerned. We apply this (general) result to two subclasses of our model. We show that safety verification is only \pspace-complete for the bounded model checking problem where the distinguished threads are loop-free. Interestingly, we can still afford the unbounded environment. We show that the complexity jumps to \nexp-complete for thread-modular verification where an unrestricted distinguished `ego' thread interacts with an environment of CAS-free threads plus loop-free distinguished threads (as in the earlier setting). Besides the usefulness for verification, the results are strong in that they delineate the tractability border for an established semantics.
翻译:我们研究了释放-获取(RA)语义语义下的参数化系统的安全核查问题。我们发现,对于不受限制地访问原子比较和交换(CAS)指令的系统来说,这个问题是棘手的。我们显示,从近似结果有帮助的核查角度来看,这是过于悲观的。我们研究了由数量未限制的环境线组成的参数化系统,这些系统执行的是相同但无CAS程序,以及固定数量的不受限制的不同线条。我们的第一个贡献是一种新的语义,它大大简化RA,但在安全核查方面仍相当于上述系统。我们把这一(一般)结果应用到我们模型的两个子类。我们表明,在有区别的线条线条是无环状的封闭模式检查问题中,安全核查只能是完整的。有意思的是,我们仍然能够承受不受限制的环境。我们显示,在线条线条核查中,不受限制地区分的`ego'线条线和无化学文系自由线系环境之间的交互作用。我们把安全核查结果应用到一个有分辨的无线条状线条状的边界的可靠程度。