Affiliation:
1. Univ. of Illinois, Chicago
2. Univ. of Texas, Austin
Abstract
The article presents the SMC system. SMC can be used for checking safety and liveness properties of concurrent programs under different fairness assumptions. It is based on explicit state enumeration. It combats the state explosion by exploiting symmetries of the input concurrent program, usually present in the form of identical processes, in two different ways. Firstly, it reduces the number of explored states by identifying those states that are equivalent under the symmetries of the system; this is called
process symmetry
. Secondly, it reduces the number of edges explored from each state, in0
the reduced state graph, by exploiting the symmetry of a single state; this is called
state symmetry
. SMC works in an
on-the-fly
manner; it constructs the reduced state graph as and when it is needed. This method facilitates early termination, speeds up model checking, and reduces memory requirements. We employed SMC to check the correctness of, among other standard examples, the Link Layer part of the IEEE Standard 1394 “Firewire” high-speed serial bus protocol. SMC found deadlocks in the protocol. SMC was also to check certain liveness properties. A report on the case study is included in the article.
Publisher
Association for Computing Machinery (ACM)
Cited by
56 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Regularity and quantification: a new approach to verify distributed protocols;Innovations in Systems and Software Engineering;2022-09-29
2. Parameterized verification of systems with component identities, using view abstraction;International Journal on Software Tools for Technology Transfer;2022-02-26
3. On Symmetry and Quantification: A New Approach to Verify Distributed Protocols;Lecture Notes in Computer Science;2021
4. Symmetry reduction in CSP model checking;International Journal on Software Tools for Technology Transfer;2019-04-01
5. FlyMC;Proceedings of the Fourteenth EuroSys Conference 2019;2019-03-25