Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
A belated proof of self-stabilization
Distributed Computing
Stabilizing Communication Protocols
IEEE Transactions on Computers - Special issue on protocol engineering
Binary self-stabilization in distributed systems
Information Processing Letters
ACM Computing Surveys (CSUR)
Symbolic model checking: 1020 states and beyond
Information and Computation - Special issue: Selections from 1990 IEEE symposium on logic in computer science
Leader election in uniform rings
ACM Transactions on Programming Languages and Systems (TOPLAS)
Uniform self-stabilizing ring orientation
Information and Computation
A partial approach to model checking
Papers presented at the IEEE symposium on Logic in computer science
Self-stabilizing sliding window ARQ protocols
IEEE/ACM Transactions on Networking (TON)
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
A Self-Stabilizing Ring Orientation Algorithm With a Smaller Number of Processor States
IEEE Transactions on Parallel and Distributed Systems
Model checking
Self-stabilizing systems in spite of distributed control
Communications of the ACM
Symbolic Model Checking
Uniform Deterministic Self-Stabilizing Ring-Orientation on Odd-Length Rings
WDAG '94 Proceedings of the 8th International Workshop on Distributed Algorithms
Mechanically Verified Self-Stabilizing Hierarchical Algorithms
TACAS '97 Proceedings of the Third International Workshop on Tools and Algorithms for Construction and Analysis of Systems
Verifying a self-stabilizing mutual exclusion algorithm
PROCOMET '98 Proceedings of the IFIP TC2/WG2.2,2.3 International Conference on Programming Concepts and Methods
A case-study in component-based mechanical verification of fault-tolerant programs
ICDCS '99 Workshop on Self-stabilizing Systems
A Stubborn Attack On State Explosion
CAV '90 Proceedings of the 2nd International Workshop on Computer Aided Verification
An Integration of Model Checking with Automated Proof Checking
Proceedings of the 7th International Conference on Computer Aided Verification
PVS: A Prototype Verification System
CADE-11 Proceedings of the 11th International Conference on Automated Deduction: Automated Deduction
An exercise in proving convergence through transfer functions
ICDCS '99 Workshop on Self-stabilizing Systems
A note on K-state self-stabilization in a ring with K = N
Nordic Journal of Computing
Analysing scientific workflows with Computational Tree Logic
Cluster Computing
Role-Based Symmetry Reduction of Fault-Tolerant Distributed Protocols with Language Support
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
A tranformational approach for designing scheduler-oblivious self-stabilizing algorithms
SSS'10 Proceedings of the 12th international conference on Stabilization, safety, and security of distributed systems
Effect of fairness in model checking of self-stabilizing programs
OPODIS'10 Proceedings of the 14th international conference on Principles of distributed systems
Brief announcement: verification of stabilizing programs with SMT solvers
SSS'12 Proceedings of the 14th international conference on Stabilization, Safety, and Security of Distributed Systems
Towards scalable model checking of self-stabilizing programs
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
A distributed system is said to be self-stabilizing if it converges to safe states regardless of its initial state. In this paper we present our results of using symbolic model checking to verify distributed algorithms against the self-stabilizing property. In general, the most difficult problem with model checking is state explosion; it is especially serious in verifying the self-stabilizing property, since it requires the examination of all possible initial states. So far applying model checking to self-stabilizing algorithms has not been successful due to the problem of state explosion. In order to overcome this difficulty, we propose to use symbolic model checking for this purpose. Symbolic model checking is a verification method which uses Ordered Binary Decision Diagrams (OBDDs) to compactly represent state spaces. Unlike other model checking techniques, this method has the advantage that most of its computations do not depend on the initial states. We show how to verify the correctness of algorithms by means of SMV, a well-known symbolic model checker. By applying the proposed approach to several algorithms in the literature, we demonstrate empirically that the state spaces of self-stabilizing algorithms can be represented by OBDDs very efficiently. Through these case studies, we also demonstrate the usefulness of the proposed approach in detecting errors.