Regular model checking is a well-established technique for the verification of infinite-state systems whose configurations can be represented as finite words over a suitable alphabet. It applies to systems whose set of initial configurations is regular, and whose transition relation is captured by a length-preserving transducer. To verify safety properties, regular model checking iteratively computes automata recognizing increasingly larger regular sets of reachable configurations, and checks if they contain unsafe configurations. Since this procedure often does not terminate, acceleration, abstraction, and widening techniques have been developed to compute a regular superset of the set of reachable configurations. In this paper we develop a complementary approach. Instead of approaching the set of reachable configurations from below, we start with the set of all configurations and compute increasingly smaller regular supersets of it. We use that the set of reachable configurations is equal to the intersection of all inductive invariants of the system. Since the intersection is in general non-regular, we introduce $b$-bounded invariants, defined as those representable by CNF-formulas with at most $b$ clauses. We prove that, for every $b \geq 0$, the intersection of all $b$-bounded inductive invariants is regular, and show how to construct an automaton recognizing it. We study the complexity of deciding if this automaton accepts some unsafe configuration. We show that the problem is in \textsc{EXPSPACE} for every $b \geq 0$, and \textsc{PSPACE}-complete for $b=1$. Finally, we study how large must $b$ be to prove safety properties of a number of benchmarks.
翻译:常规模式检查是核查无限状态系统的一种既定技术,其配置可以作为固定的字词代表于合适的字母表。它适用于初始配置组合定期化的系统,其过渡关系由保存长度的传感器捕获。为了核查安全特性,定期模式检查反复计算自动数据,承认越来越多的常规可达配置集,如果这些配置含有不安全配置,则进行检查。由于这个程序通常不终止、加速、抽象和不断扩大,因此可以对可达配置集进行常规超级集{固定的{固定的字数。在这个文件中,我们开发了一个互补方法。我们不是从下面接近可达配置集的系统,而是从所有配置集开始,并计算越来越小的常规超级。我们使用这个可达配置集等于系统所有软性配置组合的交叉点。由于交叉点通常不固定,因此我们引入了以美元为基数的变价基准值,我们开发了一个补充方法。我们用最值的可达可达标值组合来计算。我们证明每个可达标值的值的值的值的值的值值的值的值的值的值值值值值值值值是多少的值,我们必须用每一个固定的值的值的值的值的值的值的值的值的值的值的值的值的值的值的值的值的值的值的值的值,我们才能在研究中显示一个总的值的值的值的值的值的值的值。