Deadlock Analysis of Synchronous Message-Passing Programs

  • Authors:
  • Jun Zhou;Kuo-chung Tai

  • Affiliations:
  • -;-

  • Venue:
  • PDSE '99 Proceedings of the International Symposium on Software Engineering for Parallel and Distributed Systems
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.