Abstract
Analysis of concurrent systems is plagued by the state explosion problem. We describe an analysis technique that uses necessary conditions, in the form of linear inequalities, to verify certain properties of concurrent systems, thus avoiding the enumeration of the potentially explosive number of reachable states of the system. This technique has been shown to be capable of verifying simple safety properties, like freedom from deadlock, that can be expressed in terms of the number of certain events occurring in a finite execution, and has been successfully used to analyze a variety of concurrent software systems. In this paper, we extend the technique to the verification of more complex safety properties that involve the order of events and to the verification of liveness properties, which involve infinite executions.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
A. I. Ali, J. Kennington, and B. Shetty. The equal flow problem.European J. Oper. Res., 36:107–115, 1988.
G. S. Avrunin, U. A. Buy, and J. C. Corbett. Integer programming in the analysis of concurrent systems. In Larsen and Skou [16], pages 92–102.
G. S. Avrunin, U. A. Buy, J. C. Corbett, L. K. Dillon, and J. C. Wileden. Automated analysis of concurrent systems with the constrained expression toolset.IEEE Trans. Softw. Eng. 17(11):1204–1222, Nov. 1991.
J. A. Bergstra and J. W. Klop. Algebra of communicating processes with abstraction.Theoretical Comput. Sci., 37(1):77–121, 1985.
R. E. Bryant. Graph-based algorithms for boolean function manipulation.IEEE Transactions on Computers, C 35(8):677–691, 1986.
J. Burch, E. Clarke, K. McMillan, D. Dill, and L. Hwang. Symbolic model checking: 1020 states and beyond. InProceedings of the Fifth Annual IEEE Symposium on Logic in Computer Science, pages 428–439, 1990.
E. Clarke, D. Long, and K. McMillan. Compositional model checking. InProceedings of the Fourth Annual IEEE Symposium on Logic in Computer Science, 1989.
E. M. Clarke, O. Grumberg, and D. E. Long. Model checking and abstraction. InProceedings of the 19th ACM Symposium on Principles of Programming Languages, pages 343–354, Jan. 1992.
E. M. Clarke and R. P. Kurshan, editors.Computer-Aided Verification '90, number 3 in DIMACS Series in Discrete Mathematics and Theoretical Computer Science, Providence, RI, 1991. American Mathematical Society.
R. Cleaveland, J. Parrow, and B. Steffen. The concurrency workbench: A semantics based tool for the verification of concurrent systems.ACM Trans. Prog. Lang. Syst., 15(1):36–72, Jan. 1993.
J. C. Corbett.Automated Formal Analysis Methods for Concurrent and Real-Time Software. PhD thesis, University of Massachusetts at Amherst, 1992.
H. Garcia-Molina and D. Barbara. How to assign votes in a distributed system.J. ACM, 32(4):841–860, Oct. 1985.
P. Godefroid and P. Wolper. Using partial orders for the efficient verification of deadlock freedom and safety properties. In Larsen and Skou [16], pages 332–242.
C. A. R. Hoare.Communicating Sequential Processes. Prentice-Hall International, 1985.
R. Hojati, H. Touati, R. P. Kurshan, and R. K. Brayton. Efficient ω-regular language containment. In G. v. Bochmann and D. K. Probst, editors,Computer Aided Verification, 4th International Workshop Proceedings, volume 663 ofLecture Notes in Computer Science, pages 371–382, Montreal, Canada, 1992. Springer-Verlag.
K. G. Larsen and A. Skou, editors.Computer Aided Verification, 3rd International Workshop Proceedings, volume 575 ofLecture Notes in Computer Science, Aalborg, Denmark, July 1991. Springer-Verlag.
R. Milner.Communication and Concurrency. Prentice Hall, London, 1989.
D. K. Probst and H. F. Li. Using partial-order semantics to avoid the state explosion problem in asynchronous systems. In Clarke and Kurshan [9], pages 15–24. Also LNCS 531, pp. 15–24.
W. Thomas. Automata on infinite objects. In J. van Leeuwen, editor,Handbook of Theoretical Computer Science, volume B. MIT Press/Elsevier, 1990.
A. Valmari. Compositional state space generation. InEuropean Conference on Petri Nets, pages 43–62, 1990.
A. Valmari. A stubborn attack on state explosion. In Clarke and Kurshan [9], pages 25–41.
W. J. Yeh and M. Young. Compositional reachability analysis using process algebra. InProceedings of the Symposium on Testing, Analysis, and Verification (TAV4), pages 178–187, New York, Oct. 1991. ACM SIGSOFT, Association for Computing Machinery.
H. Zuidweg. Verification by abstraction and bisimulation. In J. Sifakis, editor,Proceedings of the International Workshop on Automatic Verification Methods for Finite State Systems, pages 105–166, June 1989. Appeared asLecture Notes in Computer Science 407.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Corbett, J.C., Avrunin, G.S. Using integer programming to verify general safety and liveness properties. Form Method Syst Des 6, 97–123 (1995). https://doi.org/10.1007/BF01384316
Issue Date:
DOI: https://doi.org/10.1007/BF01384316