Enhanced Vacuity Detection in Linear Temporal Logic

  • Roy Armoni
  • Limor Fix
  • Alon Flaisher
  • Orna Grumberg
  • Nir Piterman
  • Andreas Tiemeyer
  • Moshe Y. Vardi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2725)

Abstract

One of the advantages of temporal-logic model-checking tools is their ability to accompany a negative answer to a correctness query with a counterexample to the satisfaction of the specification in the system. On the other hand, when the answer to the correctness query is positive, most model-checking tools provide no witness for the satisfaction of the specification. In the last few years there has been growing awareness of the importance of suspecting the system or the specification of containing an error also in cases where model checking succeeds. In particular, several works have recently focused on the detection of the vacuous satisfaction of temporal logic specifications. For example, when verifying a system with respect to the specification ϕ = G(reqFgrant) (“every request is eventually followed by a grant”), we say that ϕ is satisfied vacuously in systems in which requests are never sent. Current works have focused on detecting vacuity with respect to subformula occurrences. In this work we investigate vacuity detection with respect to subformulas with multiple occurrences.

The generality of our framework requires us to re-examine the basic intuition underlying the concept of vacuity, which until now has been defined as sensitivity with respect to syntactic perturbation. We study sensitivity with respect to semantic perturbation, which we model by universal propositional quantification. We show that this yields a hierarchy of vacuity notions. We argue that the right notion is that of vacuity defined with respect to traces. We then provide an algorithm for vacuity detection and discuss pragmatic aspects.

Keywords

Model Check Temporal Logic Linear Temporal Logic Propositional Variable Atomic Proposition 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [AFF+02]
    Armoni, R., Fix, L., Flaisher, A., Gerth, R., Ginsburg, B., Kanza, T., Landver, A., Mador-Haim, S., Singerman, E., Tiemeyer, A., Vardi, M. Y., Zbar, Y.: The forSpec temporal logic: A new temporal property-specification language. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, p. 296. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  2. [BB94]
    Beaty, D., Bryant, R.: Formally verifying a microprocessor using a simulation methodology. In: 31st DAC. IEEE Computer Society, Los Alamitos (1994)Google Scholar
  3. [BBER97]
    Beer, I., Ben-David, S., Eisner, C., Rodeh, Y.: Efficient detection of vacuity in ACTL formulas. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 279–290. Springer, Heidelberg (1997); Full version in FMSD 18 (2), 141–162 (2001)Google Scholar
  4. [CE81]
    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, pp. 52–71. Springer, Heidelberg (1982)CrossRefGoogle Scholar
  5. [CES86]
    Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. TOPLAS 8(2), 244–263 (1986)MATHCrossRefGoogle Scholar
  6. [CFF+01]
    Copty, F., Fix, L., Fraer, R., Giunchiglia, E., Kamhi, G., Tacchella, A., Vardi, M.Y.: Benefits of bounded model checking at an industrial setting. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, p. 436. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  7. [CGMZ95]
    Clarke, E.M., Grumberg, O., McMillan, K.L., Zhao, X.: Efficient generation of counterexamples and witnesses in symbolic model checking. In: 32nd DAC (1995)Google Scholar
  8. [CGP99]
    Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  9. [Eme90]
    Emerson, E.A.: Temporal and modal logic. In: Handbook of Theoretical Computer Science, ch. 16 , vol. B. Elsevier, MIT press (1990)Google Scholar
  10. [FKZ+00]
    Fraer, R., Kamhi, G., Ziv, B., Vardi, M., Fix, L.: Prioritized traversal: efficient reachability analysis for verication and falsification. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  11. [Kup95]
    Kupferman, O.: Augmenting branching temporal logics with existential quantification over atomic propositions. In: Wolper, P. (ed.) CAV 1995. LNCS, vol. 939. Springer, Heidelberg (1995)Google Scholar
  12. [Kur98]
    Kurshan, R.P.: FormalCheck User’s Manual. Cadence Design, Inc. (1998)Google Scholar
  13. [KV99]
    Kupferman, O., Vardi, M.Y.: Vacuity detection in temporal model checking. In: 10th CHARME. LCNS, vol. 170, pp. 82–96. Springer, Heidelberg (1999)Google Scholar
  14. [KV03]
    Kupferman, O., Vardi, M.Y.: Vacuity detection in temporal model checking. STTT 4(2), 224–233 (2003)Google Scholar
  15. [LP85]
    Lichtenstein, O., Pnueli, A.: Checking that finite state concurrent programs satisfy their linear specification. In: 12th POPL, pp. 97–107 (1985)Google Scholar
  16. [LPZ85]
    Lichtenstein, O., Pnueli, A., Zuck, L.: The glory of the past. In: Parikh, R. (ed.) Logic of Programs 1985. LNCS, vol. 193, pp. 196–218. Springer, Heidelberg (1985)Google Scholar
  17. [Pnu77]
    Pnueli, A.: The temporal logic of programs. In: 18th FOCS, pp. 46–57 (1977)Google Scholar
  18. [PP95]
    Plessier, B., Pixley, C.: Formal verification of a commercial serial bus interface. In: 14th IEEE Conf. on Computers and Comm., pp. 378–382 (1995)Google Scholar
  19. [PS02]
    Purandare, M., Somenzi, F.: Vacuum cleaning CTL formulae. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 485–499. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  20. [QS81]
    Queille, J.P., Sifakis, J.: Specification and verification of concurrent systems in Cesar. In: Dezani-Ciancaglini, M., Montanari, U. (eds.) Programming 1982. LNCS, vol. 137. Springer, Heidelberg (1982)Google Scholar
  21. [SVW85]
    Sistla, A.P., Vardi, M.Y., Wolper, P.: The complementation problem for Büchi automata with applications to temporal logic. In: Brauer, W. (ed.) ICALP 1985. LNCS, vol. 194. Springer, Heidelberg (1985)CrossRefGoogle Scholar
  22. [VW86]
    Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proc. 1st LICS, pp. 332–344 (1986)Google Scholar
  23. [VW94]
    Vardi, M.Y., Wolper, P.: Reasoning about infinite computations. IC 115(1) (1994)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Roy Armoni
    • 1
  • Limor Fix
    • 1
  • Alon Flaisher
    • 1
    • 2
  • Orna Grumberg
    • 2
  • Nir Piterman
    • 1
  • Andreas Tiemeyer
    • 1
  • Moshe Y. Vardi
    • 3
  1. 1.Intel Design CenterHaifa
  2. 2.Technion, Israel Institute of Technology 
  3. 3.Rice University 

Personalised recommendations