Skip to main content

An Automatic Technique for Static Deadlock Prevention

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8974))

Abstract

Deadlocks remain one of the biggest threats to concurrent programming. Usually, the best programmers can expect is dynamic deadlock detection, which is only a palliative. Object-oriented programs, with their rich reference structure and the resulting presence of aliasing, raise additional problems. The technique developed in this paper relies on the “alias calculus” to offer a completely static and completely automatic analysis of concurrent object-oriented programs. The discussion illustrates the technique by applying it to two versions of the “dining philosophers” program, of which it proves that the first is deadlock-free and the second deadlock-prone.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.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

Learn about institutional subscriptions

References

  1. EVE (Eiffel Verification Environment). http://se.inf.ethz.ch/research/eve/

  2. Kogtenkov, A., Meyer, B., Velder, S.: Alias calculus, frame calculus and frame inference. Sci. Comput. Program. Part 1 97(1), 163–172 (2015)

    Article  Google Scholar 

  3. Meyer, B.: Systematic concurrent object-oriented programming. Commun. ACM 36(9), 56–80 (1993)

    Article  Google Scholar 

  4. Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall, Upper Saddle River (1997). Chapter 32 includes a description of SCOOP

    MATH  Google Scholar 

  5. Meyer, B.: Steps towards a theory and calculus of aliasing. Int. J. Softw. Inform. 5, 77–116 (2011)

    Google Scholar 

  6. Meyer, B., Kogtenkov, A.: Negative variables and the essence of object-oriented programming. In: Iida, S., Meseguer, J., Ogata, K. (eds.) Specification, Algebra, and Software. LNCS, vol. 8373, pp. 171–187. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

  7. Morandi, B., Schill, M., Nanz, S., Meyer, B.: Prototyping a concurrency model. In: International Conference on Application of Concurrency to System Design, pp. 177–186 (2013). http://se.inf.ethz.ch/people/morandi/publications/prototyping.pdf

  8. Nienaltowski, P.: Practical framework for contract-based concurrent object-oriented programming. Ph.D. thesis, ETH Zurich (2007). http://se.inf.ethz.ch/old/people/nienaltowski/papers/thesis.pdf

  9. SCOOP. http://cme.ethz.ch/

Download references

Acknowledgments

The research reported here is part of the Concurrency Made Easy project at ETH, an Advanced Investigator Grant of the European Research Council (ERC grant agreement no. 29138). I am grateful to members of the CME project, particularly Scott West, Benjamin Morandi and Sebastian Nanz, for numerous comments on the research. Alexander Kogtenkov and Sergey Vedler were instrumental in the development of the alias calculus. Victorien Elvinger spotted an error in an earlier version.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bertrand Meyer .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Meyer, B. (2015). An Automatic Technique for Static Deadlock Prevention. In: Voronkov, A., Virbitskaite, I. (eds) Perspectives of System Informatics. PSI 2014. Lecture Notes in Computer Science(), vol 8974. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-46823-4_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-46823-4_4

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-46822-7

  • Online ISBN: 978-3-662-46823-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics