skip to main content
article
Open Access

Automatic verification of finite-state concurrent systems using temporal logic specifications

Published:01 April 1986Publication History
Skip Abstract Section

Abstract

We give an efficient procedure for verifying that a finite-state concurrent system meets a specification expressed in a (propositional, branching-time) temporal logic. Our algorithm has complexity linear in both the size of the specification and the size of the global state graph for the concurrent system. We also show how this approach can be adapted to handle fairness. We argue that our technique can provide a practical alternative to manual proof construction or use of a mechanical theorem prover for verifying many finite-state concurrent systems. Experimental results show that state machines with several hundred states can be checked in a matter of seconds.

References

  1. 1 BEN-ARI, M., PNUELI, A., AND MANNA, Z. The temporal logic of branching time. Acta In{. 20 (1983), 207-226.Google ScholarGoogle Scholar
  2. 2 BARTLET, K. A., SCANTLEBURY, R. A., AND WILKINSON, P.T. A note on reliable full-duplex transmission over half-duplex links. Commun. ACM 12, 5 (1969), 260-261. Google ScholarGoogle Scholar
  3. 3 CLARKE, E. M., AND EMERSON, E.A. Design and synthesis of synchronization skeletons using branching time temporal logic. In Proceedings o{ the Workshop on Logic o{ Programs (Yorktown Heights, N.Y.), Lecture Notes in Computer Science, 131, Springer Verlag, New York, 1981. Google ScholarGoogle Scholar
  4. 4 EMERSON, E. A., AND CLARKE, E.M. Characterizing properties of parallel programs as fixpoints. In Proceedings of the 7th International Colloquium on Automata, Languages and Programming. Lecture Notes in Computer Science, 85, Springer Verlag, New York, 1981. Google ScholarGoogle Scholar
  5. 5 EMERSON, E. A., AND HALPERN, J.Y. "Sometimes" and "not never" revisited: On branching versus linear time temporal logic. In Proceedings o{ the Annual ACM Symposium on Principles o{ Programming Languages (Austin, Tex., Jan. 1982). To appear in J. ACM. Google ScholarGoogle Scholar
  6. 6 EMERSON, E. A., AND CLARKE, E. M. Using branching time temporal logic to synthesize synchronization skeletons. Sci. Comput. Program. 2 (1982), 241-266.Google ScholarGoogle Scholar
  7. 7 EMERSON, E. A., AND EEI, C.L. Modalities for model checking: Branching time strikes back. In Proceedings 12th ACM Symposium on Principles of Programming Languages (New Orleans, Jan. 1985), 84-95. Google ScholarGoogle Scholar
  8. 8 GABBAY, D., PNUELI, A., SHELAH, S., AND STAVI, J. The temporal analysis of fairness. In Proceedings 7th ACM Symposium on Principles of Programming Languages (Las Vegas, Jan. 1980), 163-173. Google ScholarGoogle Scholar
  9. 9 HAILPERN, B. W. Verifying concurrent processes using temporal logic. In Lecture Notes in Computer Science, 129, Springer Verlag, New York, 1982. Google ScholarGoogle Scholar
  10. 10 HOARE, C. A. R. Communicating sequential processes. Commun. ACM 21, 8 (Aug. 1978), 666-677. Google ScholarGoogle Scholar
  11. 11 LAMPORT, L. "Sometimes" is sometimes "not never." In Proceedings 7th Annual ACM Symposium on Principles o{ Programming Languages (Las Vegas, Jan. 1980), 174-185. Google ScholarGoogle Scholar
  12. 12 LEHMANN, D., PNUELI, A., AND STAVI, J. Impartiality, justice, and fairness: The ethics of concurrent termination. In Automata, Languages, and Programming. Lecture Notes in Computer Science 115, Springer Verlag, New York, 1981, 265-277. Google ScholarGoogle Scholar
  13. 13 MANNA, Z., AND PNUELI, A. Verification of concurrent programs: The temporal framework. In The Correctness Problem in Computer Science, R. S. Boyer and J. S. Moore, Eds., Academic Press, London, 1981, 215-273.Google ScholarGoogle Scholar
  14. 14 MANNA, Z., AND WOLPER, P. Synthesis of communicating processes from temporal logic specifications. ACM Trans. Program. Lang. Syst. 6, 1 (Jan. 1984), 68-93. Google ScholarGoogle Scholar
  15. 15 OWlCKI, S., AND LAMPORT, L. Proving liveness properties of concurrent programs. ACM Trans. Program. Lang. Syst. 4, 3 (July 1982), 455-495. Google ScholarGoogle Scholar
  16. 16 QUIELLE, J. P., AND SIFAKIS, J. Specification and verification of concurrent systems in CESAR. In Proceedings of the 5th International Symposium on Programming. Lecture Notes in Computer Science 137, Springer Verlag, New York, 1981, 337-350. Google ScholarGoogle Scholar
  17. 17 QUIELLE, J. P., AND SIFAK1S, J. Fairness and related properties in transition systems. 292, IMAG, Univ. of Grenoble, Mar. 1982.Google ScholarGoogle Scholar
  18. 18 SISTLA, A. P., AND CLARKE, E.M. Complexity of propositional linear temporal logics. J. ACM 32, 3 (July 1985), 733-749. Google ScholarGoogle Scholar
  19. 19 ZAFIROPULO, P., WEST, C., RUDIN, H., COWAN, D., AND BRAND, D. Towards analyzing and synthesizing protocols. IEEE Trans. Commun. COM-28, 4 (Apr. 1980), 651-671.Google ScholarGoogle Scholar

Index Terms

  1. Automatic verification of finite-state concurrent systems using temporal logic specifications

                              Recommendations

                              Comments

                              Login options

                              Check if you have access through your login credentials or your institution to get full access on this article.

                              Sign in

                              Full Access

                              • Published in

                                cover image ACM Transactions on Programming Languages and Systems
                                ACM Transactions on Programming Languages and Systems  Volume 8, Issue 2
                                April 1986
                                87 pages
                                ISSN:0164-0925
                                EISSN:1558-4593
                                DOI:10.1145/5397
                                Issue’s Table of Contents

                                Copyright © 1986 ACM

                                Publisher

                                Association for Computing Machinery

                                New York, NY, United States

                                Publication History

                                • Published: 1 April 1986
                                Published in toplas Volume 8, Issue 2

                                Permissions

                                Request permissions about this article.

                                Request Permissions

                                Check for updates

                                Qualifiers

                                • article

                              PDF Format

                              View or Download as a PDF file.

                              PDF

                              eReader

                              View online with eReader.

                              eReader