In a previous paper we have presented a CEGAR approach for the verification of parameterized systems with an arbitrary number of processes organized in an array or a ring. The technique is based on the iterative computation of parameterized invariants, i.e., infinite families of invariants for the infinitely many instances of the system. Safety properties are proved by checking that every global configuration of the system satisfying all parameterized invariants also satisfies the property; we have shown that this check can be reduced to the satisfiability problem for Monadic Second Order on words, which is decidable. A strong limitation of the approach is that processes can only have a fixed number of variables with a fixed finite range. In particular, they cannot use variables with range [0,N-1], where N is the number of processes, which appear in many standard distributed algorithms. In this paper, we extend our technique to this case. While conducting the check whether a safety property is inductive assuming a computed set of invariants becomes undecidable, we show how to reduce it to checking satisfiability of a first-order formula. We report on experiments showing that automatic first-order theorem provers can still perform this check for a collection of non-trivial examples. Additionally, we can give small sets of readable invariants for these checks.
翻译:在先前的一篇论文中,我们提出了一个CEGAR 方法,用于核查参数化系统,其参数化系统在阵列或环状中组织的进程数量是任意的。该技术的基础是对参数化变异器的迭接计算,即系统无限多情况下的无限变异体的无限数。安全特性的证明是通过检查系统每个全球配置满足所有参数化变异体也满足属性;我们显示,这一检查可以缩小到单词上对调第二顺序的可视性问题,这是可变的。该方法的一个重大限制是,进程只能有固定数量的变量,具有固定的限定范围。特别是,它们不能使用范围为[0,N-1]的变量,其中N是过程的数量,在许多标准分布式算中出现。在本文中,我们将我们的技术推广到这个案例。在进行检查时,在检查安全属性是否具有感知性,假设一组计算出的变异物是无法变数,我们如何降低它来检查第一个序式公式的可辨别不相容性。我们报告说,在进行这些自动检查时,这些自动检查的顺序中可以进行这种小检查。