Skip to main content

Abstract

We present two tests for analyzing deadlock for a class of communicating sequential processes. The tests can be used for deadlock detection in parallel and distributed programs at compile time, or for debugging purposes at run time. They can also be used in conjunction with an algorithm we have for constructing valid execution traces for this class.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K. R. Apt. A static analysis of CSP programs In E. Clarke and D. Kozen, editorsLogics of Programsvolume 164 ofLecture Notes in Computer Sciencepages 1–17. Springer-Verlag, 1983.

    Google Scholar 

  2. J.E. Cuny and L. Snyder. Conversion from data-driven to synchronous execution in loop programs.ACM Transactions on Programming Languages and Systems9(4):599–617, Oct 1987.

    Article  MATH  Google Scholar 

  3. J. Ferrante, K.J. Ottenstein, and J.D. Warren. The program dependence graph and its use in optimization.ACM Transactions on Programming Languages and Systems9(3):319–349, July 1987.

    Article  MATH  Google Scholar 

  4. S. Hiranandani, K. Kennedy, C. Koelbel, U. Kremer, and C.-W. Tseng. An overview of the Fortran D programming system. Technical Report COMP TR91–154, Rice University, Houston, TX, Mar 1991.

    Google Scholar 

  5. S. Hiranandani, K. Kennedy, and C.-W. Tseng. Compiler support for machine-independent parallel programming in Fortran D. Technical Report COMP TR91–149, Rice University, Houston, TX, 1991.

    Google Scholar 

  6. J. Hafner and P. Narendran. Personal communications, 1991 and 1992.

    Google Scholar 

  7. C.A.H. Hoare.Communicating Sequential Processes.Prentice Hall International, 1985.

    Google Scholar 

  8. D.J. Hatley and I.A. PirbhaiStrategies for Real-Time System Specification.Dorset House, 1988.

    Google Scholar 

  9. M.A. Jackson.System Development.Prentice Hall International, 1986.

    Google Scholar 

  10. P.B. Ladkin and B.B. Simons. Compile-time analysis of communicating processes. Technical Report RJ 8488, IBM Almaden Research Center, Nov 1991. Short version inProceedings of the Sixth ACM International Conference on Supercomputing248–259, ACM Press, 1992.

    Google Scholar 

  11. P.B. Ladkin and B.B. Simons. Simple NP-complete deadlock and reachability problems. Technical Report TR 03.456, IBM Santa Teresa Laboratory, San Jose, CA, Nov 1992.

    Google Scholar 

  12. P.B. Ladkin and B.B. Simons. Static analysis of concurrent communicating loops. Technical Report RJ 8625, IBM Almaden Research Center, Feb 1992.

    Google Scholar 

  13. P.B. Ladkin and B.B. Simons. Static analysis of interprocess communication. To appear as a monograph in the seriesLecture Notes in Computer Science.Springer-Verlag, 1994.

    Google Scholar 

  14. N. Mercouroff. An algorithm for analyzing communicating processes. Technical Report LIX/RR/90/12, Ecole Polytechnique, Laboratoire d’Informatique, Palaiseaux Cedex, France, 1990.

    Google Scholar 

  15. W. Peng and S. Purushothaman. A unified approach to the deadlock detection problem in networks of communicating finite state machines. In E.M. Clarke and R.P. Kurshan, editorsComputer Aided Verification: Proceedings of CAV’90volume 531 ofLecture Notes in Computer Sciencepages 243–252. Springer-Verlag, 1991.

    Google Scholar 

  16. W. Peng and S. Purushothaman. Analysis of a class of communicating finite state machines.Acta Informatica29:499–522, 1992.

    Article  MathSciNet  MATH  Google Scholar 

  17. J. Reif and S.A. Smolka Data flow analysis of distributed communicating processes.International Journal of Parallel Programming19(1):1–31, Feb 1990.

    Article  MathSciNet  MATH  Google Scholar 

  18. B.B. Simons. A polynomial time algorithm for compile-time deadlock analysis when the communication graph is a tree. In Preparation.

    Google Scholar 

  19. R.N. Taylor. A general-purpose algorithm for analyzing concurrent programs.Communications of the ACM26(5):362–376, May 1983.

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer Science+Business Media New York

About this chapter

Cite this chapter

Ladkin, P.B., Simons, B.B. (1995). Static Deadlock Analysis for CSP-Type Communications. In: Fussell, D.S., Malek, M. (eds) Responsive Computer Systems: Steps Toward Fault-Tolerant Real-Time Systems. The Springer International Series in Engineering and Computer Science, vol 297. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-2271-3_5

Download citation

  • DOI: https://doi.org/10.1007/978-1-4615-2271-3_5

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-0-7923-9563-8

  • Online ISBN: 978-1-4615-2271-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics