Using integer programming to verify general safety and liveness properties
 James C. Corbett,
 George S. Avrunin
 … show all 2 hide
Rent the article at a discount
Rent now* Final gross prices may vary according to local VAT.
Get AccessAbstract
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.
 Ali, A. I., Kennington, J., Shetty, B. (1988) The equal flow problem. European J. Oper. Res. 36: pp. 107115
 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.
 Avrunin, G. S., Buy, U. A., Corbett, J. C., Dillon, L. K., Wileden, J. C. (1991) Automated analysis of concurrent systems with the constrained expression toolset. IEEE Trans. Softw. Eng. 17: pp. 12041222
 Bergstra, J. A., Klop, J. W. (1985) Algebra of communicating processes with abstraction. Theoretical Comput. Sci. 37: pp. 77121
 Bryant, R. E. (1986) Graphbased algorithms for boolean function manipulation. IEEE Transactions on Computers, C 35: pp. 677691
 J. Burch, E. Clarke, K. McMillan, D. Dill, and L. Hwang. Symbolic model checking: 10^{20} 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.ComputerAided Verification '90, number 3 in DIMACS Series in Discrete Mathematics and Theoretical Computer Science, Providence, RI, 1991. American Mathematical Society.
 Cleaveland, R., Parrow, J., Steffen, B. (1993) The concurrency workbench: A semantics based tool for the verification of concurrent systems. ACM Trans. Prog. Lang. Syst. 15: pp. 3672
 J. C. Corbett.Automated Formal Analysis Methods for Concurrent and RealTime Software. PhD thesis, University of Massachusetts at Amherst, 1992.
 GarciaMolina, H., Barbara, D. (1985) How to assign votes in a distributed system. J. ACM 32: pp. 841860
 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. PrenticeHall 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. SpringerVerlag.
 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. SpringerVerlag.
 Milner, R. (1989) Communication and Concurrency. Prentice Hall, London
 D. K. Probst and H. F. Li. Using partialorder 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.
 Title
 Using integer programming to verify general safety and liveness properties
 Journal

Formal Methods in System Design
Volume 6, Issue 1 , pp 97123
 Cover Date
 19950101
 DOI
 10.1007/BF01384316
 Print ISSN
 09259856
 Online ISSN
 15728102
 Publisher
 Kluwer Academic Publishers
 Additional Links
 Topics
 Keywords

 Concurrent systems
 automated verification
 integer programming
 safety
 liveness
 Industry Sectors
 Authors

 James C. Corbett ^{(1)}
 George S. Avrunin ^{(2)}
 Author Affiliations

 1. University of Hawaii at Manoa, Manoa, USA
 2. University of Massachusetts at Amherst, Amherst, USA