Abstract:We present a novel algorithmic framework for Three-valued Abstraction Refinement, which extends Counterexample-guided Abstraction Refinement with the ability to verify all properties of mu-calculus including recovery (the ability of the system to always return to a certain state). The framework performs refinement on abstract system inputs rather than abstract states, avoiding problems of previous frameworks. We formalise input-based refinement by introducing the concept of generating automata, and prove that our framework is sound, monotone, and complete. We evaluate the usefulness of the framework on its implementation in our free and open-source formal verification tool.
What problem does this paper attempt to address?
The main problem that this paper attempts to solve is the deficiencies in the existing abstraction - refinement frameworks (especially three - valued abstraction - refinement, TVAR) when verifying all properties (including recovery properties) of propositional μ - calculus. Specifically:
1. **Limitations of CEGAR**: The traditional counter - example - guided abstraction - refinement (CEGAR) method can only verify a specific set of temporal properties, such as linear - time logic (LTL) properties, but cannot verify all computation - tree - logic (CTL) properties, especially recovery properties. The recovery property refers to the ability of a system to always return to a known state through certain input sequences, which is crucial for the normal operation of hardware and software systems.
2. **Problems with the existing TVAR framework**: The previous TVAR framework combines the abstractions of states and transitions, resulting in unnecessary complexity and undesirable characteristics and reducing usability. Moreover, although CEGAR - based verification tools are widespread, there are no free and open - source TVAR tools available for use.
To solve these problems, the author proposes a new input - based three - valued abstraction - refinement framework. This framework avoids the problems of the previous framework by abstracting system states and refining system inputs instead of refining system states, and allows the use of classical model - checking algorithms. In addition, the author proves the correctness, monotonicity, and completeness of this framework and implements it in their open - source formal - verification tool.
### Formula Summary
- **Partial Kripke Structure (PKS)**:
\[
\text{PKS}=(S, S_{0}, R, L)
\]
where:
- \(S\) is the set of states,
- \(S_{0}\subseteq S\) is the set of initial states,
- \(R\subseteq S\times S\) is a left - total transition relation,
- \(L: S\times A\rightarrow\{0, 1,\bot\}\) is a labeling function.
- **Kripke Modal Transition Structure (KMTS)**:
\[
\text{KMTS}=(S, S_{0}, R_{\text{may}}, R_{\text{must}}, L)
\]
where:
- \(S, S_{0}, L\) are the same as in PKS,
- \(R_{\text{must}}\subseteq S\times S\) is the set of transitions that are surely present,
- \(R_{\text{may}}\subseteq R_{\text{must}}\) is the set of transitions that may be present.
- **Generating Automaton (GA)**:
\[
G=(S, s_{0}, I, q, f, L)
\]
where:
- \(S\) is the set of automaton states,
- \(s_{0}\in S\) is the initial state,
- \(I\) is the set of all possible inputs,
- \(q: S\rightarrow2^{I}\setminus\{\emptyset\}\) is the input - eligibility function,
- \(f: S\times I\rightarrow S\) is the step function,
- \(L: S\times A\rightarrow\{0, 1,\bot\}\) is the labeling function.
- **Generated PKS**:
\[
R =\{(s, f(s, i))\mid s\in S\land i\in q(s)\}
\]
### Explanation
By introducing the input - based refinement method, the new framework avoids the problems in traditional methods and can verify a wider range of properties, including recovery properties. This method not only simplifies the formal representation of the state space but also allows the use of classical model - checking algorithms, thereby improving the verification efficiency and accuracy.