Summary
A crucial problem in the analysis of communicating processes is the detection of program statements that are unreachable due to communication deadlocks. In this paper, we consider the computational complexity of the reachability problem for various models of communicating processes. We obtain these models by making simplifying assumptions about the behavior of message queues and program control, with the hope that reachability may become easier to decide. Depending on the assumptions made, we show that reachability is undecidable, requires nearly exponential space infinitely often, or is NP-complete. In obtaining these results, we demonstrate a very close relationship between the decidable models and Petri nets and Habermann's path expressions, respectively.
Similar content being viewed by others
References
Brand, D., Zafiropulo, P.: On communicating finite state machines. J. ACM 30, 323–342 (1983)
Cook, S.A.: The complexity of theorem-proving procedures. Proceedings of the 3rd Annual ACM Symposium on Theory of Computing, pp. 151–158. New York: ACM 1971
Cunha, P.R.F., Maibaum, T.S.E.: A synchronization calculus for message oriented programming. Proceedings of the 2nd International Conference on IEEE Computer Society Press Distributed Computing Systems, Paris, France, pp. 433–445. Washington, D.C. 1981
Feldman, J.A.: A programming methodology for distributed computing (among other things). Commun. ACM 22, 353–368 (1979)
Gouda, M.G., Gurari, E., Lai, T., Rosier, L.: On deadlock detection in systems of communicating finite state machines. Comput. Artif. Intell. 6, 209–228 (1986). Also available as Technical Report TR-84-11, Department of Computer Science, University of Texas at Austin (1984)
Gouda, M.G., Rosier, L.: Priority networks of communicating finite state machines. SIAM J. Comput. 14, 569–584 (1985)
Habermann, A.N.: Path expressions. Carnegie-Mellon Univ. (1975)
Hecht, M. S.: Data flow analysis of computer programs. New York: American Elsevier 1977
Hoare, C.A.R.: Communicating sequential processes. Comm. ACM 21, 666–677 (1978)
INMOS Limited. Occam Programming Manual. London: Prentice-Hall 1984
Kanellakis, P.C., Smolka, S.A.: On the analysis of cooperation and antagonism in networks of communicating processes. Proceedings of the 4th Annual ACM Symposium on Principles of Distributed Computing, Minaki, Ontario, Canada. pp. 23–38. New York: ACM 1985
Ladner, R.: The complexity of problems in systems of communicating processes. J. Comput. Syst. Sci. 21, 179–194 (1980)
Lipton, R.: The reachability problem requires exponential space. Research Report 62, Department of Computer Science, Yale University, New Haven, CT (1976)
Mayr, E., Meyer, A.: The Complexity of the word problems for commutative semigroups and polynomial ideals. Adv. Math. 46, 305–329 (1982)
Milner, R.: A Calculus of Communicating Systems. In: Lecture Notes in Computer Science. Vol. 92. Berlin Heidelberg New York: Springer 1980
Minsky, M.L.: Recursive unsolvability of Post's problem of ‘tag’ and other topics in the theory of Turing machines. Ann. Math. 74, 437–455 (1961)
Pachl, J.K.: Reachability problems for communicating finite state machines, Research Report CS-82-12, Dept. Computer Science, Univ. Waterloo, Waterloo, Ontario, Canada (1982)
Peterson, J.L.: Petri net theory and the modeling of systems. Englewood Cliffs: Prentice-Hall Inc. 1981
Rackoff, C.: The covering and boundedness problems for vector addition systems. Theor. Comput. Sci. 6, 223–231 (1978)
Rauchle, T., Toueg, S.: Exposure to deadlock for communicating processes is hard to detect. Inform. Process. Lett. 21, 63–68 (1978)
Reif, J.H., Smolka, S.A.: Reachability and data flow analysis of distributed communicating processes: a unified approach. (Submitted for publication)
Reif, J.H., Spirakis, P.: Distributed algorithms for synchronizing interprocess communication within real time. Proceedings of the 13th ACM Symposium on Theory of Computation, Madison, WI. pp. 133–145. New York: ACM 1981. Also rewritten as: Real-time synchronization of interprocess communications. Technical Report TR-25-82, Aiken Computation Lab, Harvard Univ., Cambridge, MA (1982)
Rosier, L., Yen, H. C.: A multiparameter analysis of the boundedness problem for vector addition systems. J. Comput. Syst. Sci. 32, 105–135 (1986)
Rosier, L., Yen, H. C.: Boundedness, empty channel detection, and synchronization for communicating finite automata. Theor. Comput. Sci. 44, 60–105 (1986)
Strom, R.E., Halim, N.: A new programming methodology for long-lived software systems. IBM J. Res. Devel. 28, 52–59 (1984)
Tarjan, R.E.: A unified approach to path problems. J. ACM 28, 577–593 (1981)
Tarjan, R.E.: Fast algorithms for solving path problems. J. ACM 28, 594–614 (1981)
Taylor, R.N.: Complexity of analyzing the synchronization structure of concurrent programs. Acta Informatica 19, 57–84 (1983)
Yu, Y., Gouda, M.: Unboundedness detection for a class of communicating finite state machines. Inform. Process. Lett. 17, 235–240 (1983)
Author information
Authors and Affiliations
Additional information
A preliminary version of this paper appeared in the proceedings of the Sixth Annual ACM Symposium on Principles of Programming Languages, pp. 257–268, June 1979
Supported by National Science Foundation Grant NSF MCS 82-00269 and the Office of Naval Research Contract N00014-80-C-0647
Supported by National Science Foundation Grants NSF DCR-8505873 and CCR-8704309
ACM = The Association for Computing Machinery, Inc. IEEE = The Institute of Electrical and Electronics Engineers, Inc.
Rights and permissions
About this article
Cite this article
Reif, J.H., Smolka, S.A. The complexity of reachability in distributed communicating processes. Acta Informatica 25, 333–354 (1988). https://doi.org/10.1007/BF00283332
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00283332