Skip to main content
Log in

The complexity of reachability in distributed communicating processes

  • Published:
Acta Informatica Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Brand, D., Zafiropulo, P.: On communicating finite state machines. J. ACM 30, 323–342 (1983)

    Google Scholar 

  2. 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

    Google Scholar 

  3. 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

  4. Feldman, J.A.: A programming methodology for distributed computing (among other things). Commun. ACM 22, 353–368 (1979)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. Gouda, M.G., Rosier, L.: Priority networks of communicating finite state machines. SIAM J. Comput. 14, 569–584 (1985)

    Google Scholar 

  7. Habermann, A.N.: Path expressions. Carnegie-Mellon Univ. (1975)

  8. Hecht, M. S.: Data flow analysis of computer programs. New York: American Elsevier 1977

    Google Scholar 

  9. Hoare, C.A.R.: Communicating sequential processes. Comm. ACM 21, 666–677 (1978)

    Google Scholar 

  10. INMOS Limited. Occam Programming Manual. London: Prentice-Hall 1984

    Google Scholar 

  11. 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

    Google Scholar 

  12. Ladner, R.: The complexity of problems in systems of communicating processes. J. Comput. Syst. Sci. 21, 179–194 (1980)

    Google Scholar 

  13. Lipton, R.: The reachability problem requires exponential space. Research Report 62, Department of Computer Science, Yale University, New Haven, CT (1976)

    Google Scholar 

  14. Mayr, E., Meyer, A.: The Complexity of the word problems for commutative semigroups and polynomial ideals. Adv. Math. 46, 305–329 (1982)

    Google Scholar 

  15. Milner, R.: A Calculus of Communicating Systems. In: Lecture Notes in Computer Science. Vol. 92. Berlin Heidelberg New York: Springer 1980

    Google Scholar 

  16. 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)

    Google Scholar 

  17. Pachl, J.K.: Reachability problems for communicating finite state machines, Research Report CS-82-12, Dept. Computer Science, Univ. Waterloo, Waterloo, Ontario, Canada (1982)

    Google Scholar 

  18. Peterson, J.L.: Petri net theory and the modeling of systems. Englewood Cliffs: Prentice-Hall Inc. 1981

    Google Scholar 

  19. Rackoff, C.: The covering and boundedness problems for vector addition systems. Theor. Comput. Sci. 6, 223–231 (1978)

    Google Scholar 

  20. Rauchle, T., Toueg, S.: Exposure to deadlock for communicating processes is hard to detect. Inform. Process. Lett. 21, 63–68 (1978)

    Google Scholar 

  21. Reif, J.H., Smolka, S.A.: Reachability and data flow analysis of distributed communicating processes: a unified approach. (Submitted for publication)

  22. 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)

    Google Scholar 

  23. Rosier, L., Yen, H. C.: A multiparameter analysis of the boundedness problem for vector addition systems. J. Comput. Syst. Sci. 32, 105–135 (1986)

    Google Scholar 

  24. Rosier, L., Yen, H. C.: Boundedness, empty channel detection, and synchronization for communicating finite automata. Theor. Comput. Sci. 44, 60–105 (1986)

    Google Scholar 

  25. Strom, R.E., Halim, N.: A new programming methodology for long-lived software systems. IBM J. Res. Devel. 28, 52–59 (1984)

    Google Scholar 

  26. Tarjan, R.E.: A unified approach to path problems. J. ACM 28, 577–593 (1981)

    Google Scholar 

  27. Tarjan, R.E.: Fast algorithms for solving path problems. J. ACM 28, 594–614 (1981)

    Google Scholar 

  28. Taylor, R.N.: Complexity of analyzing the synchronization structure of concurrent programs. Acta Informatica 19, 57–84 (1983)

    Google Scholar 

  29. Yu, Y., Gouda, M.: Unboundedness detection for a class of communicating finite state machines. Inform. Process. Lett. 17, 235–240 (1983)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

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

Reprints 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

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00283332

Keywords

Navigation