IEEE Transactions on Software Engineering · 1997 · 3.8K citations · 32 references
ComputingComputer EngineeringComputer ScienceDistributed SystemsFault-tolerant SystemsFormal MethodsDistributed ComputingDistributed Systems DesignError DetectionModel CheckingReliable Distributed SystemsVerificationDistributed Algorithm VerificationDistributed Systems VerificationSystem Verification
SPIN is an efficient verification system for models of distributed software systems. It has been used to detect design errors in applications ranging from high-level descriptions of distributed algorithms to detailed code for controlling telephone exchanges. The paper gives an overview of the design and structure of the verifier, reviews its theoretical foundation, and gives an overview of significant practical applications.
32
Depth-First Search and Linear Graph Algorithms
Robert E. Tarjan · SIAM Journal on Computing · 1972 · 6K citations
The temporal logic of programs
Amir Pnueli · 1977 · 5.7K citations
Symbolic model checking: 1020 States and beyond
Jerry R. Burch, E. M. Clarke, Kenneth L. McMillan et al. · Information and Computation · 1992 · 2.7K citations
Reasoning about Infinite Computations
Moshe Y. Vardi, Pierre Wolper · Information and Computation · 1994 · 794 citations · Full text