| | |
Summary: Efficiently Verifiable Sufficient Conditions
for Deadlockfreedom of Large Concurrent Programs
(Technical Report)
Paul C. Attie and Hana Chockler
College of Computer Science, Northeastern University,
Cullinane Hall, 360 Huntington Avenue,
Boston, Massachusetts 02115.
Email: fattie,hanacg@ccs.neu.edu
May 17, 2004
Abstract
We present two polynomialtime algorithms for automatic verification of deadlockfreedom of
large finitestate concurrent programs. We consider sharedmemory concurrent programs in which
a process can nondeterministically choose amongst several (enabled) actions at any step. Our al
gorithms are sound but incomplete: if they return a positive answer, then the program is indeed
deadlockfree, while a negative answer conveys no information: the program might be deadlock free,
but ``fails'' the test that our algorithms apply.
Our algorithms apply to programs which are expressed in a particular syntactic form, in which
variables are shared between pairs of processes, and the synchronization code for each pair of inter
acting processes is expressed separately from synchronization code for other (even intersecting) pairs
of processes. The first algorithm is an improvement of the deadlock check of [2]. Its complexity is
|