Parameterisation of Three-Valued Abstractions
- First Online:
- Cite this paper as:
- Timm N., Gruner S. (2015) Parameterisation of Three-Valued Abstractions. In: Braga C., Martí-Oliet N. (eds) Formal Methods: Foundations and Applications. SBMF 2014. Lecture Notes in Computer Science, vol 8941. Springer, Cham
Three-valued abstraction is an established technique in software model checking. It proceeds by generating a state space model over the values true, false and unknown, where the latter value is used to represent the loss of information due to abstraction. Temporal logic properties can then be evaluated on such models. In case of an unknown result, the abstraction is iteratively refined. In this paper, we introduce parameterised three-valued model checking. In our new type of models, unknown parts can be either associated with the constant value unknown or with expressions over boolean parameters. Our parameterisation is an alternative way to state that the truth value of certain predicates or transitions is actually not known and that the checked property has to yield the same result under each possible parameter instantiation. A novel feature of our approach is that it allows for establishing logical connections between parameters: While unknown parts in pure three-valued models are never related to each other, our parameterisation approach enables to represent facts like ’a certain pair of transitions has unknown but complementary truth values’, or ’the value of a predicate is unknown but remains constant along all states of a certain path’. We demonstrate that such facts can be automatically derived from the system to be verified and that covering these facts in an abstract model can be crucial for the success and efficiency of checking temporal logic properties. Moreover, we introduce an automatic verification framework based on counterexample-guided abstraction refinement and parameterisation.
Unable to display preview. Download preview PDF.