Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Open access

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

Published: 01 April 1986 Publication History

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]
BEN-ARI, M., PNUELI, A., AND MANNA, Z. The temporal logic of branching time. Acta In{. 20 (1983), 207-226.
[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.
[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.
[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.
[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.
[6]
EMERSON, E. A., AND CLARKE, E. M. Using branching time temporal logic to synthesize synchronization skeletons. Sci. Comput. Program. 2 (1982), 241-266.
[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.
[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.
[9]
HAILPERN, B. W. Verifying concurrent processes using temporal logic. In Lecture Notes in Computer Science, 129, Springer Verlag, New York, 1982.
[10]
HOARE, C. A. R. Communicating sequential processes. Commun. ACM 21, 8 (Aug. 1978), 666-677.
[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.
[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.
[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.
[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.
[15]
OWlCKI, S., AND LAMPORT, L. Proving liveness properties of concurrent programs. ACM Trans. Program. Lang. Syst. 4, 3 (July 1982), 455-495.
[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.
[17]
QUIELLE, J. P., AND SIFAK1S, J. Fairness and related properties in transition systems. 292, IMAG, Univ. of Grenoble, Mar. 1982.
[18]
SISTLA, A. P., AND CLARKE, E.M. Complexity of propositional linear temporal logics. J. ACM 32, 3 (July 1985), 733-749.
[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.

Cited By

View all
  • (2024)Multi-Robot Motion and Task Planning in Automotive Production Using Controller-based Safe Reinforcement LearningProceedings of the 23rd International Conference on Autonomous Agents and Multiagent Systems10.5555/3635637.3663056(1928-1937)Online publication date: 6-May-2024
  • (2024)Hardware Model Checking Algorithms and TechniquesAlgorithms10.3390/a1706025317:6(253)Online publication date: 9-Jun-2024
  • (2024)Model checking programs in process-oriented IEC 61131-3 Structured TextModeling and Analysis of Information Systems10.18255/1818-1015-2024-1-32-5331:1(32-53)Online publication date: 28-Mar-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
  • Editor:
  • Susan L. Graham
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 April 1986
Published in TOPLAS Volume 8, Issue 2

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)577
  • Downloads (Last 6 weeks)57
Reflects downloads up to 30 Aug 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Multi-Robot Motion and Task Planning in Automotive Production Using Controller-based Safe Reinforcement LearningProceedings of the 23rd International Conference on Autonomous Agents and Multiagent Systems10.5555/3635637.3663056(1928-1937)Online publication date: 6-May-2024
  • (2024)Hardware Model Checking Algorithms and TechniquesAlgorithms10.3390/a1706025317:6(253)Online publication date: 9-Jun-2024
  • (2024)Model checking programs in process-oriented IEC 61131-3 Structured TextModeling and Analysis of Information Systems10.18255/1818-1015-2024-1-32-5331:1(32-53)Online publication date: 28-Mar-2024
  • (2024)Serial and parallel algorithms for short time horizon multi-attribute queries on stochastic multi-agent systemsSIMULATION10.1177/00375497241264815Online publication date: 8-Aug-2024
  • (2024)Self-Adapting Machine Learning-based Systems via a Probabilistic Model Checking FrameworkACM Transactions on Autonomous and Adaptive Systems10.1145/3648682Online publication date: 7-Mar-2024
  • (2024)CTL Model Checking of MDPs over Distribution Spaces: Algorithms and Sampling-based ComputationsProceedings of the 27th ACM International Conference on Hybrid Systems: Computation and Control10.1145/3641513.3651397(1-12)Online publication date: 14-May-2024
  • (2024)A Sample-Driven Solving Procedure for the Repeated Reachability of Quantum Continuous-time Markov ChainsProceedings of the 27th ACM International Conference on Hybrid Systems: Computation and Control10.1145/3641513.3650126(1-12)Online publication date: 14-May-2024
  • (2024)Predictive Monitoring against Pattern Regular LanguagesProceedings of the ACM on Programming Languages10.1145/36329158:POPL(2191-2225)Online publication date: 5-Jan-2024
  • (2024)Consistency Checking for Refactoring from Coarse-Grained Locks to Fine-Grained LocksInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402450014134:07(1063-1093)Online publication date: 5-Jun-2024
  • (2024)DiSPEL: A Framework for SoC Security Policy Synthesis and Distributed Enforcement2024 IEEE International Symposium on Hardware Oriented Security and Trust (HOST)10.1109/HOST55342.2024.10545407(271-281)Online publication date: 6-May-2024
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media