SMT and POR beat counter abstraction: Parameterized model checking of threshold-based distributed algorithms

I Konnov, H Veith, J Widder - International Conference on Computer Aided …, 2015 - Springer
International Conference on Computer Aided Verification, 2015Springer
Automatic verification of threshold-based fault-tolerant distributed algorithms (FTDA) is
challenging: they have multiple parameters that are restricted by arithmetic conditions, the
number of processes and faults is parameterized, and the algorithm code is parameterized
due to conditions counting the number of received messages. Recently, we introduced a
technique that first applies data and counter abstraction and then runs bounded model
checking (BMC). Given an FTDA, our technique computes an upper bound on the diameter …
Abstract
Automatic verification of threshold-based fault-tolerant distributed algorithms (FTDA) is challenging: they have multiple parameters that are restricted by arithmetic conditions, the number of processes and faults is parameterized, and the algorithm code is parameterized due to conditions counting the number of received messages. Recently, we introduced a technique that first applies data and counter abstraction and then runs bounded model checking (BMC). Given an FTDA, our technique computes an upper bound on the diameter of the system. This makes BMC complete: it always finds a counterexample, if there is an actual error. To verify state-of-the-art FTDAs, further improvement is needed. In this paper, we encode bounded executions over integer counters in SMT. We introduce a new form of offline partial order reduction that exploits acceleration and the structure of the FTDAs. This aggressively prunes the execution space to be explored by the solver. In this way, we verified safety of seven FTDAs that were out of reach before.
Springer