Analysis and testing of concurrent object-oriented software
ACM SIGSOFT Software Engineering Notes
Concurrent deadlock detection in parallel programs
International Journal of Computers and Applications
Static Analysis of Concurrent Programs Using Ordinary Differential Equations
ICTAC '09 Proceedings of the 6th International Colloquium on Theoretical Aspects of Computing
Hi-index | 0.00 |
Reachability analysis of a concurrent program involves the derivation of states of the program and the detection of deadlocks and other types of faults. To perform reachability analysis of a concurrent program P, the number of instances of each process type in P needs to be determined. How to select such numbers for P is a difficult issue. If these numbers are large, reachability analysis of P needs huge memory and very long CPU time. If these numbers are small, we have little confidence on whether P is deadlock-free for larger numbers of instances of process types in P. A deadlock cutoff number C for a process type T in P means that if under certain conditions P with C instances of T has no deadlocks, then P has no deadlocks for any number of instances of T. In this paper, we describe methods for finding deadlock cutoff numbers for three types of synchronous message-passing programs. Our methods are based on the theory of Milner's CCS. By applying these methods, the effort for detecting deadlocks in many synchronous message-passing programs can be significantly reduced. Empirical results of applying our methods to solutions to the dining philosophers and readers and writers problems are presented.