Model checking of safety properties
2001
Abstract
Of special interest in formal verification are safety properties, which assert that the system always stays within some allowed region. Proof rules for the verification of safety properties have been developed in the proof-based approach to verification, making verification of safety properties simpler than verification of general properties. In this paper we consider model checking of safety properties. A computation that violates a general linear property reaches a bad cycle, which witnesses the violation of the property.
References (48)
- ABG + 00] Y. Abarbanel, I. Beer, L. Gluhovsky, S. Keidar, and Y. Wolfstal. FoCs -automatic generation of simulation checkers from formal specifications. In Computer Aided Verification, Proc. 12th Int. Conference, volume 1855 of Lecture Notes in Computer Science, pages 538-542. Springer- Verlag, 2000.
- B. Alpern and F.B. Schneider. Defining liveness. Information processing letters, 21:181-185, 1985.
- B. Alpern and F.B. Schneider. Recognizing safety and liveness. Distributed computing, 2:117-126, 1987.
- BCC + 99] A. Biere, A. Cimatti, E.M. Clarke, M. Fujita, and Y. Zhu. Symbolic model checking using SAT procedures instead of BDDs. In Proc. 36th Design Automaion Conference, pages 317- 320. IEEE Computer Society, 1999.
- BCM + 92] J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, and L.J. Hwang. Symbolic model check- ing: 10 20 states and beyond. Information and Computation, 98(2):142-170, June 1992.
- R.S. Boyer and J.S. Moore. Proof-checking, theorem-proving and program verification. Tech- nical Report 35, Institute for Computing Science and Computer Applications, University of Texas at Austin, January 1983.
- E.M. Clarke and E.A. Emerson. Design and synthesis of synchronization skeletons using branching time temporal logic. In Proc. Workshop on Logic of Programs, volume 131 of Lecture Notes in Computer Science, pages 52-71. Springer-Verlag, 1981.
- E.M. Clarke, E.A. Emerson, and A.P. Sistla. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems, 8(2):244-263, January 1986.
- W. Canfield, E.A. Emerson, and A. Saha. Checking formal specifications under simulation. In Proc. International Conference on Computer Design, pages 455-460, 1997.
- A.K. Chandra, D.C. Kozen, and L.J. Stockmeyer. Alternation. Journal of the Association for Computing Machinery, 28(1):114-133, January 1981.
- C. Courcoubetis, M.Y. Vardi, P. Wolper, and M. Yannakakis. Memory efficient algorithms for the verification of temporal properties. Formal Methods in System Design, 1:275-288, 1992.
- E.A. Emerson. Alternative semantics for temporal logics. Theoretical Computer Science, 26:121-130, 1983.
- E.A. Emerson. Temporal and modal logic. Handbook of Theoretical Computer Science, pages 997-1072, 1990.
- N. Francez. Program verification. International Computer Science. Addison-Weflay, 1992.
- R. Gerth, D. Peled, M.Y. Vardi, and P. Wolper. Simple on-the-fly automatic verification of linear temporal logic. In P. Dembiski and M. Sredniawa, editors, Protocol Specification, Testing, and Verification, pages 3-18. Chapman & Hall, August 1995.
- P. Godefroid and P. Wolper. Using partial orders for the efficient verification of deadlock free- dom and safety properties. In Proc. 3rd Conference on Computer Aided Verification, volume 575 of Lecture Notes in Computer Science, pages 332-342, Aalborg, July 1991. Springer- Verlag.
- R.H. Hardin, R.P. Kurshan, S.K. Shukla, and M.Y. Vardi. A new heuristic for bad cycle detection using BDDs. In Computer Aided Verification, Proc. 9th Int. Conference, volume 1254 of Lecture Notes in Computer Science, pages 268-278. Springer-Verlag, 1997.
- H. Iwashita and T. Nakata. Forward model checking techniques oriented to buggy designs. In Proc. IEEE/ACM International Conference on Computer Aided Design, pages 400-404, 1997.
- N. Klarlund. Mona & Fido: The logic-automaton connection in practice. In Computer Science Logic, CSL '97, Lecture Notes in Computer Science, 1998.
- O. Kupferman and M.Y. Vardi. Weak alternating automata are not that weak. In Proc. 5th Israeli Symposium on Theory of Computing and Systems, pages 147-158. IEEE Computer Society Press, 1997.
- O. Kupferman and M.Y. Vardi. Freedom, weakness, and determinism: from linear-time to branching-time. In Proc. 13th IEEE Symposium on Logic in Computer Science, pages 81-92, June 1998.
- O. Kupferman, M.Y. Vardi, and P. Wolper. An automata-theoretic approach to branching- time model checking. Journal of the ACM, 47(2), March 2000.
- L. Lamport. Logical foundation. In Distributed systems -methods and tools for specification, volume 190 of Lecture Notes in Computer Science. Springer-Verlag, 1985.
- O. Lichtenstein and A. Pnueli. Checking that finite state concurrent programs satisfy their linear specification. In Proc. 12th ACM Symposium on Principles of Programming Languages, pages 97-107, New Orleans, January 1985.
- Y. Luo, T. Wongsonegoro, and A. Aziz. Hybrid techniques for fast functional simulation. In Proc. 35th Design Automation Conference. IEEE Computer Society, 1998.
- MAB + 94] Z. Manna, A. Anuchitanukul, N. Bjorner, A. Browne, E. Chang, M. Colon, L. De Alfaro, H. Devarajan, H. Sipma, and T. Uribe. STeP: The Stanford Temporal Prover. Technical Report STAN-CS-TR-94-1518, Dept. of Computer Science, Stanford University, 1994.
- K.L. McMillan. Using unfolding to avoid the state explosion problem in the verification of asynchronous circuits. In Proc. 4th Conference on Computer Aided Verification, volume 663 of Lecture Notes in Computer Science, pages 164-174, Montreal, June 1992. Springer-Verlag.
- A.R. Meyer and M.J. Fischer. Economy of description by automata, grammars, and formal systems. In Proc. 12th IEEE Symp. on Switching and Automata Theory, pages 188-191, 1971.
- S. Miyano and T. Hayashi. Alternating finite automata on ω-words. Theoretical Computer Science, 32:321-330, 1984.
- Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specifi- cation. Springer-Verlag, Berlin, January 1992.
- Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Safety. Springer-Verlag, New York, 1995.
- S. Melzer and S. Roemer. Deadlock checking using net unfoldings. In Computer Aided Verification, Proc. 9th Int. Conference, volume 1254 of Lecture Notes in Computer Science, pages 364-375. Springer-Verlag, 1997.
- A.R. Meyer and L.J. Stockmeyer. The equivalence problem for regular expressions with squaring requires exponential time. In Proc. 13th IEEE Symp. on Switching and Automata Theory, pages 125-129, 1972.
- S. Owicki and L. Lamport. Proving liveness properties of concurrent programs. ACM Trans- actions on Programming Languages and Systems, 4(3):455-495, July 1982.
- J.P. Queille and J. Sifakis. Specification and verification of concurrent systems in Cesar. In Proc. 5th International Symp. on Programming, volume 137, pages 337-351. Springer-Verlag, Lecture Notes in Computer Science, 1981.
- K. Ravi and F. Somenzi. High-density reachability analysis. In Proc. Int'l Conf. on Computer- Aided Design, pages 154-158, San Jose, 1995.
- S. Safra. On the complexity of ω-automata. In Proc. 29th IEEE Symposium on Foundations of Computer Science, pages 319-327, White Plains, October 1988.
- A.P. Sistla and E.M. Clarke. The complexity of propositional linear temporal logic. Journal ACM, 32:733-749, 1985.
- A.P. Sistla. Satefy, liveness and fairness in temporal logic. Formal Aspects of Computing, 6:495-511, 1994.
- R.E. Shankar, S. Owre, and J.M. Rushby. The PVS proof checker: A reference manual (beta release). Technical report, Computer Science laboratory, SRI International, Menlo Park, California, March 1993.
- H.J. Touati, R.K. Brayton, and R. Kurshan. Testing language containment for ω-automata using BDD's. Information and Computation, 118(1):101-109, April 1995.
- A. Valmari. On-the-fly verification with stubborn sets. In Proc. 5nd Conference on Computer Aided Verification, volume 697 of Lecture Notes in Computer Science. Springer-Verlag, 1993.
- M.Y. Vardi. An automata-theoretic approach to linear temporal logic. In F. Moller and G. Birtwistle, editors, Logics for Concurrency: Structure versus Automata, volume 1043 of Lecture Notes in Computer Science, pages 238-266. Springer-Verlag, Berlin, 1996.
- M.Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verifica- tion. In Proc. First Symposium on Logic in Computer Science, pages 332-344, Cambridge, June 1986.
- M.Y. Vardi and P. Wolper. Automata-theoretic techniques for modal logics of programs. Journal of Computer and System Science, 32(2):182-221, April 1986.
- M.Y. Vardi and P. Wolper. Reasoning about infinite computations. Information and Com- putation, 115(1):1-37, November 1994.
- P. Wolper. Synthesis of Communicating Processes from Temporal Logic Specifications. PhD thesis, Stanford University, 1982.
- J. Yuan, J. Shen, J. Abraham, and A. Aziz. On combining formal and informal verification. In Computer Aided Verification, Proc. 9th Int. Conference, volume 1254 of Lecture Notes in Computer Science, pages 376-387. Springer-Verlag, 1997.