Skip to main content

MPass: An Efficient Tool for the Analysis of Message-Passing Programs

  • Conference paper
  • First Online:
  • 563 Accesses

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

Abstract

MPass is a freely available open source tool for the verification of message passing programs communicating in an asynchronous manner over unbounded channels. The verification task is non-trivial as it involves exploring state spaces of arbitrary or even infinite sizes. Even for programs that only manipulate finite range variables, the size of the channels could grow unboundedly, and hence the state space that need to be explored could be of infinite size. MPass addresses the bounded-phase reachability problem, where each process is allowed to perform a bounded number of phases during any run of the system. In each phase, a process can perform either send transitions or receive transitions (but not both). However, this does not bound the number of context switches between processes or the size of the channels but just the number of alternations between receive and send transitions of each process. Currently, MPass can decide bounded-phase reachability problem for three types of channel semantics, namely lossy, stuttering and unordered channels. Messages inside these channels can be lost, duplicated and re-arranged, respectively. MPass efficiently and uniformly reduces the bounded-phase reachability problem into the satisfiability of quantifier-free Presburger formula for each of the above mentioned semantics.

This research was in part funded by the Uppsala Programming for Multicore Architectures Research Center (UPMARC) and by the Programming Platform for Future Wireless Sensor Networks project (ProFun).

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. Abdulla, P., Jonsson, B.: Verifying programs with unreliable channels. In: LICS (1993)

    Google Scholar 

  2. Abdulla, P.A., Atig, M.F., Cederberg, J.: https://github.com/it-apv/alternator

  3. Abdulla, P.A., Atig, M.F., Cederberg, J.: Analysis of message passing programs using SMT-solvers. In: Van Hung, D., Ogawa, M. (eds.) ATVA 2013. LNCS, vol. 8172, pp. 272–286. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  4. Abdulla, P.A., Atig, M.F., Modi, S., Saini, G.: https://github.com/vigenere92/MPass

  5. Abdulla, P.A., Collomb-Annichini, A., Bouajjani, A., Jonsson, B.: Using forward reachability analysis for verification of lossy channel systems. FMSD 25(1), 39–65 (2004)

    MATH  Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  7. Marques Jr., A.P., Ravn, A., Srba, J., Vighio, S.: https://github.com/csv2uppaal

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

  9. Lipton, R.: The reachability problem requires exponential time. Technical report TR 66 (1976)

    Google Scholar 

  10. Marques, A.P., Ravn, A.P., Srba, J., Vighio, S.: Tool supported analysis of web services protocols. In: TTCS, pp. 50–64. University of Oslo (2011)

    Google Scholar 

  11. Qadeer, S., Rehof, J.: Context-bounded model checking of concurrent software. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 93–107. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  12. Rackoff, C.: The covering and boundedness problems for vector addition systems. Theor. Comput. Sci. 6, 223–231 (1978)

    Article  MATH  MathSciNet  Google Scholar 

  13. Ravn, A.P., Srba, J., Vighio, S.: Modelling and verification of web services business activity protocol. In: Abdulla, P.A., Leino, K.R.M. (eds.) TACAS 2011. LNCS, vol. 6605, pp. 357–371. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  14. Schnoebelen, P.: Verifying lossy channel systems has nonprimitive recursive complexity. Inf. Process. Lett. 83(5), 251–261 (2002)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Othmane Rezine .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Abdulla, P.A., Atig, M.F., Cederberg, J., Modi, S., Rezine, O., Saini, G. (2015). MPass: An Efficient Tool for the Analysis of Message-Passing Programs. In: Lanese, I., Madelaine, E. (eds) Formal Aspects of Component Software. FACS 2014. Lecture Notes in Computer Science(), vol 8997. Springer, Cham. https://doi.org/10.1007/978-3-319-15317-9_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-15317-9_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-15316-2

  • Online ISBN: 978-3-319-15317-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics