Symbolic Model Checking using Intervals of Vectors
Damien Morard, Lucas Donati, Didier Buchs
TL;DR
The paper tackles state-space explosion in global CTL model checking for Petri nets by introducing symbolic vector sets that generalize interval representations to vectors. It develops a formal framework of symbolic vectors and symbolic vector sets, including a canonical form and homomorphic operations, enabling CTL formula evaluation directly in the symbolic domain. The authors define pre, pre_sv, and pre_svs operators and demonstrate CTL evaluation via fixed-point expressions, with saturation and clustering to mitigate combinatorial blow-up. Benchmarks on MCC 2022 models, particularly the Circadian Clock, show promising scalability and performance improvements, indicating practical viability and potential for integration with other symbolic methods.
Abstract
Model checking is a powerful technique for software verification. However, the approach notably suffers from the infamous state space explosion problem. To tackle this, in this paper, we introduce a novel symbolic method for encoding Petri net markings. It is based on the use of generalised intervals on vectors, as opposed to existing methods based on vectors of intervals such as Interval Decision Diagrams. We develop a formalisation of these intervals, show that they possess homomorphic operations for model checking CTL on Petri nets, and define a canonical form that provides good performance characteristics. Our structure facilitates the symbolic evaluation of CTL formulas in the realm of global model checking, which aims to identify every state that satisfies a formula. Tests on examples of the model checking contest (MCC 2022) show that our approach yields promising results. To achieve this, we implement efficient computations based on saturation and clustering principles derived from other symbolic model checking techniques.
