Brief Announcement: MP-State: State-Aware Software Model Checking of Message-Passing Systems

  • Can Arda Muftuoglu
  • Péter Bokor
  • Neeraj Suri
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7596)


Software model checking [4] is a useful and practical branch of verification for verifying the implementation of the system. The wide usability comes at a price of low time and space efficiency. In fact, model checking of even simple single-process programs can take several hours using state-of-the-art techniques [6]. Verification complexity gets even worse for concurrent programs that simultaneously execute loosely coupled processes. Verification efficiency can be greatly improved by capturing the state of the program, a technique generally referred to as stateful model checking [2]. Intuitively, state capture enables to detect that two states are identical and, therefore, to consider only a representative state for verification. Unfortunately, capturing the state in general software systems can be very hard, even if the entire state of the system resides in the (local) memory. As a result, certain verification approaches (commonly called stateless model checking) do not capture the system’s state at all [4]. Stateful model checking is in principle possible for software, however, at a price of considerable overhead. Therefore, stateful model checking is efficient only if the achieved reduction of redundantly explored states compensate for the overhead.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bokor, P., Kinder, J., Serafini, M., Suri, N.: Efficient Model Checking of Fault-Tolerant Distributed Protocols. In: Proc. of DSN-DCCS, pp. 73–84 (2011)Google Scholar
  2. 2.
    Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press (2000)Google Scholar
  3. 3.
    Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem. Springer (1996)Google Scholar
  4. 4.
    Godefroid, P.: Model Checking for Programming Languages using VeriSoft. In: Proc. of POPL, pp. 174–186 (1997)Google Scholar
  5. 5.
    Guo, H., Wu, M., Zhou, L., Hu, G., Yang, J., Zhang, L.: Practical Software Model Checking via Dynamic Interface Reduction. In: Proc. of SOSP, pp. 265–278 (2011)Google Scholar
  6. 6.
    Kuznetsov, V., Kinder, J., Bucur, S., Candea, G.: Efficient State Merging in Symbolic Execution. In: Proc. of PLDI, pp. 193–204 (2012)Google Scholar
  7. 7.
    Miller, A., Donaldson, A., Calder, M.: Symmetry in Temporal Logic Model Checking. ACM Computing Surveys 38(3) (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Can Arda Muftuoglu
    • 1
  • Péter Bokor
    • 1
  • Neeraj Suri
    • 1
  1. 1.Technische Universität DarmstadtDarmstadtGermany

Personalised recommendations