Skip to main content

Dynamic Software Update for Message Passing Programs

  • Conference paper
Programming Languages and Systems (APLAS 2012)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7705))

Included in the following conference series:

Abstract

Global Session Types are typically used to express communication protocols between a number of participating entities. Analyses on these types can be used to prove that message passing programs have a variety of desirable properties such as communications safety and deadlock freedom. In this paper we provide a Global Session Type analysis for queued channel message passing programs whose code may be updated during runtime (Dynamic Software Update). In particular, we prove safety and liveness properties for well-typed programs by identifying suitable restrictions on the runtime points at which dynamic updates may occur. This includes the possibility of updating several threads without requiring global thread synchronisation.

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 39.99
Price excludes VAT (USA)
  • Available as 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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ajmani, S.: Automatic Software Upgrades for Distributed Systems. Artificial Intelligence (Cm), 1–23 (2004)

    Google Scholar 

  2. Anderson, G.: Behavioural Properties and Dynamic Software Update for Concurrent Programs. Ph.D. Thesis, University of Southampton (2012)

    Google Scholar 

  3. Appel, A.: Hot-sliding in ML. Technical report. Princeton University, Princeton, New Jersey, USA

    Google Scholar 

  4. Bettini, L., Coppo, M., D’Antoni, L., De Luca, M., Dezani-Ciancaglini, M., Yoshida, N.: Global Progress in Dynamically Interleaved Multiparty Sessions. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008. LNCS, vol. 5201, pp. 418–433. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  5. Bierman, G., Hicks, M., Sewell, P., Stoyle, G.: Formalizing Dynamic Software Updating. In: Proceedings of the 2nd Workshop on Unanticipated Software Evolution

    Google Scholar 

  6. Boyapati, C., Liskov, B., Shrira, L., Moh, C.-H., Richman, S.: Lazy Modular Upgrades In Persistent Object Stores. In: Proceedings of the 18th on Object-oriented Programing, Systems, Languages, and Applications, pp. 403–417

    Google Scholar 

  7. Deniélou, P.-M., Yoshida, N.: Buffered Communication Analysis in Distributed Multiparty Sessions. In: Gastin, P., Laroussinie, F. (eds.) CONCUR 2010. LNCS, vol. 6269, pp. 343–357. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  8. Dezani-Ciancaglini, M., de’Liguoro, U.: Sessions and Session Types: An Overview. In: Laneve, C., Su, J. (eds.) WS-FM 2009. LNCS, vol. 6194, pp. 1–28. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  9. Hayden, C.M., Smith, E.K., Denchev, M., Hicks, M., Foster, J.S.: Kitsune: Efficient, General-purpose Dynamic Software Updating for C

    Google Scholar 

  10. Hayden, C.M., Smith, E.K., Hicks, M., Foster, J.S.: State Transfer for Clear and Efficient Runtime Upgrades. In: Proceedings of the 3rd Workshop on Hot Topics in Software Upgrades

    Google Scholar 

  11. Hayden, C.M., Saur, K., Hicks, M., Foster, J.S.: A Study of Dynamic Software Update Quiescence for Multithreaded Programs. In: Proceedings of the 4th Workshop on Hot Topics in Software Upgrades

    Google Scholar 

  12. Hicks, M., Nettles, S.: Dynamic Software Updating. ACM Trans. Program. Lang. Syst. 27(6), 1049–1096 (2005) ISSN 0164-0925

    Article  Google Scholar 

  13. Honda, K., Yoshida, N., Carbone, M.: Multiparty Asynchronous Session Types (January 2008) ISSN 0362-1340

    Google Scholar 

  14. Lea, D.: Concurrent Programming in Java: Design Principles and Patterns, 2nd edn. Addison-Wesley Longman Publishing Co., Inc. (1999)

    Google Scholar 

  15. Neamtiu, I., Hicks, M.: Safe and Timely Dynamic Updates to Multi-threaded Programs. In: Proceedings of the Conference on Programming Language Design and Implementation, pp. 13–24

    Google Scholar 

  16. Stoyle, G., Hicks, M., Bierman, G., Sewell, P., Neamtiu, I.: Mutatis Mutandis: Safe and predictable dynamic software updating. ACM Trans. Program. Lang. Syst. 29(4), 183–194

    Google Scholar 

  17. Subramanian, S.: Dynamic Software Updates: A VM-Centric Approach. PhD thesis, University of Texas at Austin

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Anderson, G., Rathke, J. (2012). Dynamic Software Update for Message Passing Programs. In: Jhala, R., Igarashi, A. (eds) Programming Languages and Systems. APLAS 2012. Lecture Notes in Computer Science, vol 7705. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35182-2_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-35182-2_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-35181-5

  • Online ISBN: 978-3-642-35182-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics