Skip to main content

Object Types against Races

  • Conference paper
  • First Online:
CONCUR’99 Concurrency Theory (CONCUR 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1664))

Included in the following conference series:

Abstract

This paper investigates an approach for statically preventing race conditions in an object-oriented language. The setting of this work is a variant of Gordon and Hankin’s concurrent object calculus. We enrich that calculus with a form of dependent object types that enables us to verify that threads invoke and update methods only after acquiring appropriate locks. We establish that well-typed programs do not have race conditions.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Martín Abadi and Luca Cardelli. A Theory of Objects. Springer-Verlag, 1996.

    Google Scholar 

  2. Ken Arnold and James Gosling. The Java Programming Language. AddisonWesley, 1996.

    Google Scholar 

  3. David Aspinall and Adriana Compagnoni. Subtyping dependent types. In Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science, pages 86–97, July 1996.

    Google Scholar 

  4. Gérard Berry and Gérard Boudol. The chemical abstract machine. Theoretical Computer Science, 96:217–248, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  5. Andrew D. Birrell. An introduction to programming with threads. Research Report 35, Digital Equipment Corporation Systems Research Center, 1989.

    Google Scholar 

  6. Paolo Di Blasio and Kathleen Fisher. A calculus for concurrent objects. In CONCUR’96: Concurrency Theory, volume 1119 of Lecture Notes in Computer Science, pages 655–670. Springer Verlag, 1996.

    Google Scholar 

  7. Luca Cardelli. Phase distinctions in type theory. Unpublished, 1988.

    Google Scholar 

  8. Cormac Flanagan and Martín Abadi. Types for safe locking. In Proceedings of the 8th European Symposium on Programming, ESOP’ 99, pages 91–108. SpringerVerlag, March 1999.

    Google Scholar 

  9. Andrew D. Gordon and Paul D. Hankin. A concurrent object calculus: Reduction and typing. In Uwe Nestmann and Benjamin C. Pierce, editors, HLCL’ 98: High-Level Concurrent Languages, volume 16.3 of Electronic Notes in Theoretical Computer Science. Elsevier Science Publishers, 1998. An extended version appears as Technical Report No. 457 of the University of Cambridge Computer Laboratory, February 1999.

    Google Scholar 

  10. James Gosling, Bill Joy, and Guy L. Steele. The Java Language Specification. Addison-Wesley, 1996.

    Google Scholar 

  11. Robert Harper, John C. Mitchell, and Eugenio Moggi. Higher-order modules and the phase distinction. In Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 341–354, January 1990.

    Google Scholar 

  12. Martin Hofmann, Wolfgang Naraschewski, Martin Steén, and Terry Stroup. Inheritance of proofs. Theory and Practice of Object Systems, 4(1):51–69, 1998.

    Article  Google Scholar 

  13. Naoki Kobayashi. A partially deadlock-free typed process calculus. In Proceedings of the 12th Annual IEEE Symposium on Logic in Computer Science, pages 128–139, 1997.

    Google Scholar 

  14. Greg Nelson, editor. Systems Programming in Modula-3. Prentice Hall, 1991.

    Google Scholar 

  15. Nicholas Sterling. Warlock: A static data race analysis tool. In USENIX Winter Technical Conference, pages 97–106, 1993.

    Google Scholar 

  16. Eijiro Sumii and Naoki Kobayashi. A generalized deadlock-free process calculus. In Uwe Nestmann and Benjamin C. Pierce, editors, HLCL’ 98: High-Level Concurrent Languages, volume 16.3 of Electronic Notes in Theoretical Computer Science. Elsevier Science Publishers, 1998.

    Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Flanagan, C., Abadi, M. (1999). Object Types against Races. In: Baeten, J.C.M., Mauw, S. (eds) CONCUR’99 Concurrency Theory. CONCUR 1999. Lecture Notes in Computer Science, vol 1664. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48320-9_21

Download citation

  • DOI: https://doi.org/10.1007/3-540-48320-9_21

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66425-3

  • Online ISBN: 978-3-540-48320-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics