


Information and Computation, 98(2), 142–170.Ĭhaouch-Saad, M., Charron-Bost, B., Merz, S. Symbolic model checking: 1020 states and beyond. International Journal on Software Tools for Technology Transfer, 4, 92–106. In: Proceedings of the ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation, Tucson, AZ, USA, pp.

A practical automatic polyhedral parallelizer and locality optimizer. World Scientific.īondhugula, U., Hartono, A., Ramanujam, J., & Sadayappan, P. A walk through combinatorics: an introduction to enumeration and graph theory. In: Proceedings of the Second Annual ACM Symposium on Principles of Distributed Computing, Association for Computing Machinery, New York, NY, USA, PODC ’83, pp. Another advantage of free choice (extended abstract): Completely asynchronous agreement protocols. In: International Conference on Verification, Model Checking, and Abstract Interpretation, Springer, pp. Parameterized model checking of synchronous distributed algorithms by abstraction. The reusable framework for verifying round-based algorithms and the two proposed reduction techniques provide the means for reducing by orders of magnitude the number of states required to analyze common distributed algorithms.Īminof, B., Rubin, S., Stoilkovska, I., Widder, J., & Zuleger, F. To mitigate state-space explosion, the paper proposes two reduction techniques, named partition symmetry reduction and message order reduction, that exploit symmetries in the state space to avoid expanding equivalent states. This paper aims to provide a set of generic template models, appropriate for distributed round-based algorithms, to be used to focus modeling effort on algorithm-specific details. Furthermore, this kind of formal verification technique is limited by the well-known state-space explosion problem. , an incorrect model that fulfills an incomplete specification). However, writing a model is a manual task that potentially introduces defects which the model checker tool finds to fulfill the formal specification (e.g. As computers grew in memory and processing capacity, it became possible to exhaustively verify systems with billions of states, making it practical to model and verify real-world protocols and algorithms.

Model checking has advanced over the last decades to become an effective formal technique for verifying distributed and concurrent systems.
