Skip to main content

Synchronizability for Verification of Asynchronously Communicating Systems

  • Conference paper

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

Abstract

Message-based communication is an increasingly common interaction mechanism used in concurrent and distributed systems where components interact with each other by sending and receiving messages. It is well-known that verification of systems that use asynchronous message-based communication with unbounded FIFO queues is undecidable even when the component behaviors are expressed using finite state machines. In this paper we show that there is a sub-class of such systems, called synchronizable systems, for which certain reachability properties (over send actions and over states with no pending receives) remain unchanged when asynchronous communication is replaced with synchronous communication. Hence, if a system is synchronizable, then the verification of these reachability properties can be done on the synchronous version of the system and the results hold for the asynchronous case. We present a technique for deciding if a given system is synchronizable. Our results are applicable to a variety of domains including verification and analysis of interactions among processes at the OS level, coordination in service-oriented computing and interactions among distributed programs. In this paper we focus on analysis of channel contracts in the Singularity OS. Our experimental results show that almost all channel contracts in the Singularity OS are synchronizable, and, hence, their properties can be analyzed using synchronous communication semantics.

The authors thank Gwen Salaün for fruitful discussions on the CADP implementation. This work has been partially supported by the US National Science Foundation grants CCF1117708, CCF1116836, CCF0702758, and project TIN2008-05932 funded by the Spanish Ministry of Innovation and Science and FEDER.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Armstrong, J.: Getting Erlang to talk to the outside world. In: Proc. ACM SIGPLAN Workshop on Erlang, pp. 64–72 (2002)

    Google Scholar 

  2. Banavar, G., Chandra, T., Strom, R.E., Sturman, D.: A Case for Message Oriented Middleware. In: Jayanti, P. (ed.) DISC 1999. LNCS, vol. 1693, pp. 1–17. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  3. Basu, S., Bultan, T.: Choreography conformance via synchronizability. In: Proc. 20th Int. World Wide Web Conf., WWW (2011)

    Google Scholar 

  4. Basu, S., Bultan, T., Ouederni, M.: Deciding choreography realizability. In: Proc. 39th Symp. Principles of Programming Languages, POPL (2012)

    Google Scholar 

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

    MathSciNet  MATH  Google Scholar 

  6. Carbone, M., Honda, K., Yoshida, N., Milner, R., Brown, G., Ross-Talbot, S.: A theoretical basis of communication-centred concurrent programming

    Google Scholar 

  7. Cécé, G., Finkel, A.: Verification of programs with half-duplex communication. Information and Computation 202, 166–190 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  8. Fähndrich, M., Aiken, M., Hawblitzel, C., Hodson, O., Hunt, G.C., Larus, J.R., Levi, S.: Language support for fast and reliable message-based communication in singularity os. In: Proc. 2006 EuroSys Conf., pp. 177–190 (2006)

    Google Scholar 

  9. Fu, X., Bultan, T., Su, J.: Analysis of interacting BPEL web services. In: Proc. 13th Int. World Wide Web Conf., pp. 621–630 (2004)

    Google Scholar 

  10. Fu, X., Bultan, T., Su, J.: Synchronizability of conversations among web services. IEEE Trans. Software Eng. 31(12), 1042–1055 (2005)

    Article  Google Scholar 

  11. Garavel, H., Lang, F.: SVL: A Scripting Language for Compositional Verification. In: Proc. of FORTE, pp. 377–394 (2001)

    Google Scholar 

  12. Garavel, H., Mateescu, R., Lang, F., Serwe, W.: CADP 2006: A Toolbox for the Construction and Analysis of Distributed Processes. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 158–163. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  13. Heußner, A., Leroux, J., Muscholl, A., Sutre, G.: Reachability Analysis of Communicating Pushdown Systems. In: Ong, L. (ed.) FOSSACS 2010. LNCS, vol. 6014, pp. 267–281. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  14. Honda, K., Vasconcelos, V.T., Kubo, M.: Language Primitives and Type Discipline for Structured Communication-Based Programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  15. Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: Proc. 35th Symp. Prin. Programming Languages (POPL), pp. 273–284 (2008)

    Google Scholar 

  16. Hunt, G.C., Larus, J.R.: Singularity: rethinking the software stack. Operating Systems Review 41(2), 37–49 (2007)

    Article  Google Scholar 

  17. Java Message Service, http://java.sun.com/products/jms/

  18. Larus, J., Hunt, G.: Using the singularity research development kit. In: Tutorial, Int. Conf. Arch. Support for Prog. Lang. and OS (2008)

    Google Scholar 

  19. Manohar, R., Martin, A.J.: Slack Elasticity in Concurrent Computing. In: Jeuring, J. (ed.) MPC 1998. LNCS, vol. 1422, pp. 272–285. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  20. Menascé, D.A.: Mom vs. rpc: Communication models for distributed applications. IEEE Internet Computing 9(2), 90–93 (2005)

    Article  Google Scholar 

  21. Microsoft Message Queuing Service, http://www.microsoft.com/windowsserver2003/technologies/msmq/default.mspx

  22. Siegel, S.F.: Efficient Verification of Halting Properties for MPI Programs with Wildcard Receives. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 413–429. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  23. Singularity design note 5: Channel contracts. singularity rdk documentation, v1.1 (2004), http://www.codeplex.com/singularity

  24. Stengel, Z., Bultan, T.: Analyzing singularity channel contracts. In: Proc. 18th Int. Symp. on Software Testing and Analysis (ISSTA), pp. 13–24 (2009)

    Google Scholar 

  25. La Torre, S., Madhusudan, P., Parlato, G.: Context-Bounded Analysis of Concurrent Queue Systems. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 299–314. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  26. Vakkalanka, S., Vo, A., Gopalakrishnan, G., Kirby, R.M.: Precise dynamic analysis for slack elasticity: adding buffering without adding bugs. In: 17th Euro. MPI Conf. Advances in Message Passing Interface, pp. 152–159 (2010)

    Google Scholar 

  27. Web Service Choreography Description Language, WS-CDL (2005), http://www.w3.org/TR/ws-cdl-10/

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

Basu, S., Bultan, T., Ouederni, M. (2012). Synchronizability for Verification of Asynchronously Communicating Systems. In: Kuncak, V., Rybalchenko, A. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2012. Lecture Notes in Computer Science, vol 7148. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-27940-9_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-27940-9_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-27939-3

  • Online ISBN: 978-3-642-27940-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics