Method and Case Study of Model Checking Concurrent Systems That Use Unbounded Timestamps - Nakano, Shinya; Tsuchiya, Tatsuhiro (Proceedings (IEEE Pacific Rim International Symposium on Dependable Computing), 2017)
Parallel and distributed algorithms, including those for fault tolerance, often use timestamps to coordinate the behaviors of processes. These algorithms are hard to correctly design and often subject to subtle design faults. Model checking, which is a state exploration-based verification method, has been very successful in finding design faults in many practical systems. However model checking of timestamp-based algorithms is difficult when the values of timestamps are not bounded, because then the state space is infinite. This paper addresses the problem of infinite state space by proposing a data abstraction technique for timestamps. This technique transforms the infinite-state algorithm to a finite-state abstract model which simulates the original algorithm. The applicability of this approach is demonstrated through a case study where Lamport's bakery algorithm is verified in the absence and presence of process failures.