Parameterisation of Three-Valued Abstractions

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8941)

Abstract

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    de Alfaro, L., Roy, P.: Solving games via three-valued abstraction refinement. In: Caires, L., Vasconcelos, V.T. (eds.) CONCUR 2007. LNCS, vol. 4703, pp. 74–89. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  2. 2.
    Ball, T., Majumdar, R., Millstein, T., Rajamani, S.K.: Automatic predicate abstraction of C programs. In: ACM SIGPLAN 2001, PLDI 2001, pp. 203–213. ACM, New York (2001)Google Scholar
  3. 3.
    Bruns, G., Godefroid, P.: Model checking partial state spaces with 3-valued temporal logics. In: Halbwachs, N., Peled, D. (eds.) CAV 1999. LNCS, vol. 1633, pp. 274–287. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  4. 4.
    Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 154–169. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  5. 5.
    Easterbrook, S.M., Chechik, M., Devereux, B., Gurfinkel, A., Lai, A.Y.C., Petrovykh, V., Tafliovich, A., Thompson-Walsh, C.: \(\chi \)Chek: a model checker for multi-valued reasoning. In: ICSE 2003, pp. 804–805 (2003)Google Scholar
  6. 6.
    Fitting, M.: Kleene’s three valued logics and their children. Fundamenta Informaticae 20(1–3), 113–131 (1994)MATHMathSciNetGoogle Scholar
  7. 7.
    Godefroid, P., Piterman, N.: LTL generalized model checking revisited. In: Jones, N.D., Müller-Olm, M. (eds.) VMCAI 2009. LNCS, vol. 5403, pp. 89–104. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. 8.
    Grumberg, O.: 2-valued and 3-valued abstraction-refinement in model checking. In: Logics and Languages for Reliability and Security, pp. 105–128. IOS Press, Incorporated (2010)Google Scholar
  9. 9.
    Herbstritt, M., Becker, B.: On combining 01X-logic and QBF. In: Moreno Díaz, R., Pichler, F., Quesada Arencibia, A. (eds.) EUROCAST 2007. LNCS, vol. 4739, pp. 531–538. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  10. 10.
    Katoen, J.P., Klink, D., Leucker, M., Wolf, V.: Three-valued abstraction for probabilistic systems. Logic and Algebraic Programming 81(4), 356–389 (2012). http://www.sciencedirect.com/science/article/pii/S1567832612000239 CrossRefMATHMathSciNetGoogle Scholar
  11. 11.
    Nopper, T., Scholl, C.: Symbolic model checking for incomplete designs with flexible modeling of unknowns. IEEE Trans. Computers 62(6), 1234–1254 (2013)CrossRefMathSciNetGoogle Scholar
  12. 12.
    Schrieb, J., Wehrheim, H., Wonisch, D.: Three-valued spotlight abstractions. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 106–122. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  13. 13.
    Shoham, S., Grumberg, O.: 3-valued abstraction: More precision at less cost. Information and Computation 206(11), 1313–1333 (2008)CrossRefMATHMathSciNetGoogle Scholar
  14. 14.
    Timm, N.: Three-Valued Abstraction and Heuristic-Guided Refinement for Verifying Concurrent Systems. Phd thesis, University of Paderborn (2013)Google Scholar
  15. 15.
    Timm, N.: Spotlight abstraction with shade clustering - automatic verification of parameterised systems. In: 8th International Symposium on Theoretical Aspects of Software Engineering, pp. 18–25. IEEE Computer Society (2014)Google Scholar
  16. 16.
    Timm, N., Wehrheim, H.: On symmetries and spotlights – verifying parameterised systems. In: Dong, J.S., Zhu, H. (eds.) ICFEM 2010. LNCS, vol. 6447, pp. 534–548. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  17. 17.
    Timm, N., Wehrheim, H., Czech, M.: Heuristic-guided abstraction refinement for concurrent systems. In: Aoki, T., Taguchi, K. (eds.) ICFEM 2012. LNCS, vol. 7635, pp. 348–363. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  18. 18.
    Wei, O., Gurfinkel, A., Chechik, M.: On the consistency, expressiveness, and precision of partial modeling formalisms. Information and Comp. 209(1), 20–47 (2011)CrossRefMATHMathSciNetGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of PretoriaPretoriaSouth Africa

Personalised recommendations