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

  • Parosh Aziz Abdulla
  • Mohamed Faouzi Atig
  • Jonathan Cederberg
  • Subham Modi
  • Othmane Rezine
  • Gaurav Saini
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

References

  1. 1.
    Abdulla, P., Jonsson, B.: Verifying programs with unreliable channels. In: LICS (1993)Google Scholar
  2. 2.
    Abdulla, P.A., Atig, M.F., Cederberg, J.: https://github.com/it-apv/alternator
  3. 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)CrossRefGoogle Scholar
  4. 4.
    Abdulla, P.A., Atig, M.F., Modi, S., Saini, G.: https://github.com/vigenere92/MPass
  5. 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)MATHGoogle Scholar
  6. 6.
    Brand, D., Zafiropulo, P.: On communicating finite-state machines. J. ACM 30(2), 323–342 (1983)CrossRefMATHMathSciNetGoogle Scholar
  7. 7.
    Marques Jr., A.P., Ravn, A., Srba, J., Vighio, S.: https://github.com/csv2uppaal
  8. 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)CrossRefGoogle Scholar
  9. 9.
    Lipton, R.: The reachability problem requires exponential time. Technical report TR 66 (1976)Google Scholar
  10. 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. 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)CrossRefGoogle Scholar
  12. 12.
    Rackoff, C.: The covering and boundedness problems for vector addition systems. Theor. Comput. Sci. 6, 223–231 (1978)CrossRefMATHMathSciNetGoogle Scholar
  13. 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)CrossRefGoogle Scholar
  14. 14.
    Schnoebelen, P.: Verifying lossy channel systems has nonprimitive recursive complexity. Inf. Process. Lett. 83(5), 251–261 (2002)CrossRefMATHMathSciNetGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Parosh Aziz Abdulla
    • 1
  • Mohamed Faouzi Atig
    • 1
  • Jonathan Cederberg
    • 1
  • Subham Modi
    • 3
  • Othmane Rezine
    • 1
  • Gaurav Saini
    • 2
  1. 1.Uppsala UniversityUppsalaSweden
  2. 2.Indian Institute of TechnologyRoparIndia
  3. 3.Indian Institute of TechnologyKanpurIndia

Personalised recommendations