[go: up one dir, main page]

Skip to main content
Log in

Memory-efficient algorithms for the verification of temporal properties

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

This article addresses the problem of designing memory-efficient algorithms for the verification of temporal properties of finite-state programs. Both the programs and their desired temporal properties are modeled as automata on infinite words (Büchi automata). Verification is then reduced to checking the emptiness of the automaton resulting from the product of the program and the property. This problem is usually solved by computing the strongly connected components of the graph representing the product automaton. Here, we present algorithms that solve the emptiness problem without explicitly constructing the strongly connected components of the product graph. By allowing the algorithms to err with some probability, we can implement them with a randomly accessed memory of size O(n) bits, where n is the number of states of the graph, instead of O(n log n) bits that the presently known algorithms require.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. C.H. West Generalized technique for communication protocol validation. IBM Journal of Research and Development, 22:393–404 (1978).

    Google Scholar 

  2. M.T. Liu. Protocol engineering. Advances in Computing, 29:79–195 (1989).

    Google Scholar 

  3. H. Rudin. Network protocols and tools to help produce them. Annual Review of Computer Science, 2:191–316 (1987).

    Google Scholar 

  4. C.H. West and P. Zafiropulo. Automated validation of a communication protocol: the ccitt x.21 recommendation. IBM Journal of Research and Development, 22:60–71 (1978).

    Google Scholar 

  5. H. Rudin and C.H. West. A validation technique for tightly-coupled protocols. IEEE Transactions on Computers, C-312:630–636 (1982).

    Google Scholar 

  6. C.A. Sunshine. Experience with automated protocol verification. In Proceedings of the International Conference on Communication, Boston, June 1983, pp. 1306–1310.

  7. B.T. Hailpern. Tools for verifying network protocols. In Logic and Models of Concurrent Systems, NATO ISI Series, K. Apt (ed.). Springer-Verlag, New York, 1985, pp. 57–76.

    Google Scholar 

  8. R. Grotz, C. Jard, and C. Lassudrie. Attacking a complex distributed systems for different sides: an experience with complementary validation tools. In Proceedings of the 4th Workshop of Protocol Specification, Testing, and Verification. North-Holland, Amsterdam, 1984, 3–17.

    Google Scholar 

  9. 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).

    Google Scholar 

  10. E.M. Clarke and O. Grümberg. Avoiding the state explosion problem in temporal logic modelchecking algorithms. In Proceedings of the 6th ACM Symposium on Principles of Distributed Computing. Vancouver, British Columbia, August 1987, pp. 294–303.

  11. O. Lichtenstein and A. Pneuli. Checking that finite state concurrent programs satisfy their linear specification. In Proceedings of the Twelfth ACM Symposium on Principles of Programming Languages. New Orleans, January 1985, pp. 97–107.

  12. J.P. Queille and J. Sifakis. Specification and verification of concurrent systems in cesar. In Proceedings of the 5th International Symposium on Programming, volume 137, in Lecture Notes in Computer Science. Springer Verlag, New York, 1981, pp. 337–351.

    Google Scholar 

  13. M. Vardi. Unified verification theory. In Proceedings of Temporal Logic in Specification, B. Banieqbal, H. Barringer, and A. Pneuli (ed.), volume 398 in Lecture Notes in Computer Science. Springer-Verlag, New York, 1989, pp. 202–212.

    Google Scholar 

  14. M.Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In Proceedings of a Symposium on Logic in Computer Science, Cambridge, June 1986, pp. 322–331.

  15. P. Wolper. On the relation of programs and computations to models of temporal logic. In Proceedings of Temporal Logic in Specification, B. Banieqbal, H. Barringer, and A. Pnueli (eds.), volume 398 in Lecture Notes in Computer Science. Springer-Verlag, New York, 1989, pp. 75–123.

    Google Scholar 

  16. G. Holzmann. An improved protocol reachability analysis technique. Software Practice and Experience, vol. 18, no. 2, 137–161 (February 1988).

    Google Scholar 

  17. C. Jard and T. Jéron. On-line model-checking for finite linear temporal logic specifications. In Automatic Verification Methods for Finite State Systems, Proceedings of a International Workshop, Grenoble, volume 407 in Lecture Notes in Computer Science, Grenoble, June 1989. Springer-Verlag, New York, 1989, pp. 189–96.

    Google Scholar 

  18. M.Y. Vardi and P. Wolper. Reasoning about infinite computation paths. IBM Research Report RJ6209, 1988.

  19. André Thayse and et al. From Modal Logic to Deductive Databases: Introducing a Logic Based Approach to Artificial Intelligence, Wiley, New York, 1989.

    Google Scholar 

  20. Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman. The Design and Analysis of Computer Algorithms. Addison Wesley, Reading, MA, 1974.

    Google Scholar 

  21. S. Aggarwal, C. Courcoubetis, and P. Wolper. Adding liveness properties to coupled finite-state machines. ACM Transactions on Programming Languages and Systems, 12(2):303–339 (1990).

    Google Scholar 

  22. Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman. Data Structures and Algorithms. Addison Wesley, Reading, MA, 1982.

    Google Scholar 

  23. G.J. Holzmann. Tracing protocols. AT&T Technical Journal, 64(12):2413–2434 (1985).

    Google Scholar 

  24. C. Jard and T. Jeron. Bounded-memory algorithms for verification on the fly. In Proceedings of a Workshop on Computer Aided Verification, Aalborg, July 1991.

  25. P. Godefroid, G.J. Holzmann, and D. Pirottin. State space caching revisited. In Proceedings of the 4th Workshop on Computer Aided Verification, Montreal, June 1992.

  26. G. Holzmann. Design and Validation of Computer Protocols. Prentice-Hall International Editions, Englewood Cliffs, NJ, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Courcoubetis, C., Vardi, M., Wolper, P. et al. Memory-efficient algorithms for the verification of temporal properties. Form Method Syst Des 1, 275–288 (1992). https://doi.org/10.1007/BF00121128

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00121128

Keywords

Navigation