Counter Simulations via Higher Order Quantifier Elimination: a preliminary report

Silvio Ghilardi,Elena Pagani
DOI: https://doi.org/10.4204/EPTCS.262.5
2017-12-05
Abstract:Quite often, verification tasks for distributed systems are accomplished via counter abstractions. Such abstractions can sometimes be justified via simulations and bisimulations. In this work, we supply logical foundations to this practice, by a specifically designed technique for second order quantifier elimination. Our method, once applied to specifications of verification problems for parameterized distributed systems, produces integer variables systems that are ready to be model-checked by current SMT-based tools. We demonstrate the feasibility of the approach with a prototype implementation and first experiments.
Logic in Computer Science,Distributed, Parallel, and Cluster Computing,Software Engineering
What problem does this paper attempt to address?
The problem that this paper attempts to solve is the automated formal verification of distributed systems (especially fault - tolerant algorithms). Specifically, the author proposes a method that provides a logical basis for the verification problem of parameterized distributed systems through high - order quantifier elimination techniques and transforms it into a system of integer variables that can be model - checked with existing SMT tools. ### Detailed Explanation 1. **Background and Motivation**: - The verification of distributed systems is a crucial but challenging task. The processes in these systems communicate with each other, their behaviors depend on the received messages, and the number of processes is arbitrary. - These characteristics make it very difficult to verify the properties of these systems because it is necessary to deal with infinite state spaces. - The focus of the paper is to simplify the verification problems of these systems through counter abstractions. Counter abstractions can represent all possible running situations by simulating the original algorithm, thus transforming the verification problem into a form that can be solved using existing SMT tools. 2. **Proposed Method**: - The author introduces a technique from high - order specifications to simulations that can be expressed in first - order theories. This method allows interaction between logical engines at different levels of expressive power. - Specifically, they design a technique specifically for second - order quantifier elimination. When applied to the verification specifications of parameterized distributed systems, it can generate a system of integer variables ready for model - checking with current SMT - based tools. 3. **Four - Step Strategy**: - **Step 1**: Use high - order logic to formally describe the system and its safety issues. - **Step 2**: The user adds counters of the definition set so as to re - formulate the observation - related properties as arithmetic properties of these counters. - **Step 3**: Apply an automatic process to eliminate high - order variables. - **Step 4**: Finally, use SMT - based tools to model - check the generated system. 4. **Implementation and Experiments**: - The author demonstrates the feasibility of this method through a prototype implementation and preliminary experiments. - For example, they apply the four - step strategy to the One - Third (OT) algorithm and successfully transform it into a form that can be verified with SMT tools. ### Summary The main contribution of this paper is to provide a method for transforming complex distributed system verification problems into a form that can be solved using existing tools. By introducing high - order quantifier elimination techniques and counter abstractions, the author provides new ideas and tools for research in this field.