Advertisement

An Efficiently Checkable, Proof-Based Formulation of Vacuity in Model Checking

  • Kedar S. Namjoshi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3114)

Abstract

Model checking algorithms can report a property as being true for reasons that may be considered vacuous. Current algorithms for detecting vacuity require either checking a quadratic size witness formula, or multiple model checking runs; either alternative may be quite expensive in practice. Vacuity is, in its essence, a problem with the justification used by the model checker for deeming the property to be true. We argue that current definitions of vacuity are too broad from this perspective and give a new, narrower, formulation. The new formulation leads to a simple detection method that examines only the justification extracted from the model checker in the form of an automatically generated proof. This check requires a small amount of computation after a single verification run on the property, so it is significantly more efficient than the earlier methods. While the new formulation is stronger, and so reports vacuity less often, we show that it agrees with the current formulations for linear temporal properties expressed as automata. Differences arise with inherently branching properties but in instances where the vacuity reported with current formulations is debatable.

Keywords

Model Check Linear Temporal Logic Automaton State Tree Automaton Model Check Algorithm 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Armoni, R., Fix, L., Flaisher, A., Grumberg, O., Piterman, N., Tiemeyer, A.: Enhanced vacuity detection in linear temporal logic. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 368–380. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  2. 2.
    Beatty, D., Bryant, R.: Formally verifying a microprocessor using a simulation methodology. In: 31st DAC, IEEE Computer Society Press, Los Alamitos (1994)Google Scholar
  3. 3.
    Beer, S., Ben-David, C.: Efficient detection of vacuity in ACTL formulas. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, Springer, Heidelberg (1997) ; Full version in FMSD,18(2) (2001)Google Scholar
  4. 4.
    Chockler, H., Kupferman, O., Kurshan, R.P., Vardi, M.Y.: A practical approach to coverage in model checking. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, p. 66. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  5. 5.
    Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, Springer, Heidelberg (1982)CrossRefGoogle Scholar
  6. 6.
    Dong, Y., Sarna-Starosta, B., Ramakrishnan, C.R., Smolka, S.A.: Vacuity checking in the modal mu-calculus. In: Kirchner, H., Ringeissen, C. (eds.) AMAST 2002. LNCS, vol. 2422, p. 147. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  7. 7.
    Emerson, E.A., Halpern, J.Y.: Sometimes and Not Never revisited: on Branching versus Linear Time Temporal Logic. J. ACM 33(1), 151–178 (1986)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Emerson, E.A.: Temporal and modal logic. In: Leeuwen, J. v. (ed.) Handbook of Theoretical Computer Science, vol. B: Formal Methods and Semantics, Elsevier and MIT Press (1990)Google Scholar
  9. 9.
    Emerson, E.A., Jutla, C.S.: Tree automata, mu-calculus and determinacy (extended abstract). In: FOCS (1991)Google Scholar
  10. 10.
    Emerson, E.A., Lei, C.-L.: Efficient model checking in fragments of the propositional mu-calculus (extended abstract). In: LICS (1986)Google Scholar
  11. 11.
    Gerth, R., Peled, D., Vardi, M.Y., Wolper, P.: Simple on-the-fly automatic verification of linear temporal logic. In: PSTV, Chapman & Hall, Boca Raton (1995)Google Scholar
  12. 12.
    Hardin, R.H., Har’el, Z., Kurshan, R.P.: COSPAN. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, Springer, Heidelberg (1996)Google Scholar
  13. 13.
    Hoskote, Y., Kam, T., Ho, P.-H., Zhao, X.: Coverage estimation for symbolic model checking. In: 37th DAC, ACM Press, New York (1999)Google Scholar
  14. 14.
    Katz, S., Geist, D., Grumberg, O.: Have I written enough properties? A method for comparison between specification and implementation. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, Springer, Heidelberg (1999)CrossRefGoogle Scholar
  15. 15.
    Kick, A.: Generation of witnesses for global mu-calculus model checking (1995), available at http://citeseer.ist.psu.edu/kick95generation.html
  16. 16.
    Kozen, D.: Results on the propositional mu-calculus. In: ICALP. LNCS, vol. 140, Springer, Heidelberg (1982)Google Scholar
  17. 17.
    Kupferman, O., Y. Vardi, M.: Vacuity detection in temporal model checking. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 82–98. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  18. 18.
    Kupferman, O., Vardi, M.Y.: Vacuity detection in temporal model checking. STTT 4(2) (2003)Google Scholar
  19. 19.
    Maidl, M.: The common fragment of CTL and LTL. In: FOCS (2000)Google Scholar
  20. 20.
    Manna, Z., Pnueli, A.: Specification and verification of concurrent programs by ∀-automata. In: POPL (1987)Google Scholar
  21. 21.
    Namjoshi, K.S.: Certifying model checkers. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, p. 2. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  22. 22.
    Peled, D.A., Pnueli, A., Zuck, L.D.: From falsification to verification. In: Hariharan, R., Mukund, M., Vinay, V. (eds.) FSTTCS 2001. LNCS, vol. 2245, p. 292. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  23. 23.
    Pnueli, A.: The temporal logic of programs. In: FOCS (1977)Google Scholar
  24. 24.
    Purandare, M., Somenzi, F.: Vacuum cleaning CTL formulae. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 485. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  25. 25.
    Stevens, P., Stirling, C.: Practical model-checking using games. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, p. 85. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  26. 26.
    Yu, S., Luo, Z.: Implementing a model checker for LEGO. In: Fitzgerald, J.S., Jones, C.B., Lucas, P. (eds.) FME 1997. LNCS, vol. 1313, Springer, Heidelberg (1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Kedar S. Namjoshi
    • 1
  1. 1.Bell LabsLucent Technologies 

Personalised recommendations