Brief Announcement: MP-State: State-Aware Software Model Checking of Message-Passing Systems
Software model checking  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 . 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 . 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 . 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.
- 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.Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press (2000)Google Scholar
- 3.Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem. Springer (1996)Google Scholar
- 4.Godefroid, P.: Model Checking for Programming Languages using VeriSoft. In: Proc. of POPL, pp. 174–186 (1997)Google Scholar
- 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.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.Miller, A., Donaldson, A., Calder, M.: Symmetry in Temporal Logic Model Checking. ACM Computing Surveys 38(3) (2006)Google Scholar