Advances in Petri nets 1986, part II on Petri nets: applications and relationships to other models of concurrency
Symbolic Boolean manipulation with ordered binary-decision diagrams
ACM Computing Surveys (CSUR)
Local and temporal predicates in distributed systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
A technique of state space search based on unfolding
Formal Methods in System Design - Special issue on computer-aided verification (based on CAV'92 workshop)
Distributed snapshots: determining global states of distributed systems
ACM Transactions on Computer Systems (TOCS)
Detection of Strong Unstable Predicates in Distributed Programs
IEEE Transactions on Parallel and Distributed Systems
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Model checking
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Distributed Algorithms
Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem
Detection of Weak Unstable Predicates in Distributed Programs
IEEE Transactions on Parallel and Distributed Systems
LTL is expressively complete for Mazurkiewicz traces
Journal of Computer and System Sciences
Computation Slicing: Techniques and Theory
DISC '01 Proceedings of the 15th International Conference on Distributed Computing
An Improvement of McMillan's Unfolding Algorithm
TACAs '96 Proceedings of the Second International Workshop on Tools and Algorithms for Construction and Analysis of Systems
How to Make FDR Spin LTL Model Checking of CSP by Refinement
FME '01 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods for Increasing Software Productivity
NuSMV 2: An OpenSource Tool for Symbolic Model Checking
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
On-the-Fly Verification with Stubborn Sets
CAV '93 Proceedings of the 5th International Conference on Computer Aided Verification
An expressively complete linear time temporal logic for Mazurkiewicz traces
Information and Computation - Special issue: LICS'97
Model-Checking of causality properties
LICS '95 Proceedings of the 10th Annual IEEE Symposium on Logic in Computer Science
On Slicing a Distributed Computation
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
Efficient Decentralized Monitoring of Safety in Distributed Systems
Proceedings of the 26th International Conference on Software Engineering
Covering sharing trees: a compact data structure for parameterized verification
International Journal on Software Tools for Technology Transfer (STTT)
Detection of global predicates: techniques and their limitations
Distributed Computing
The formal design of distributed controllers with dSL and Spin
Formal Aspects of Computing
Techniques and applications of computation slicing
Distributed Computing
Online efficient predictive safety analysis of multithreaded programs
International Journal on Software Tools for Technology Transfer (STTT)
On the complexity of partial order trace model checking
Information Processing Letters
Testing Distributed Systems Through Symbolic Model Checking
FORTE '07 Proceedings of the 27th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Hi-index | 0.00 |
It is well known that through code instrumentation, a distributed system's finite execution can generate a finite trace as a partially ordered set of events. We motivate the need to use LTL model-checking on sequences and not on traces as defined by Diekert and Gastin, to validate distributed control systems executions, abstracted by such traces, and present an efficient symbolic algorithm to do the job. It uses the standard method proposed by Vardi and Wolper, which from the LTL formula, builds a monitor that accepts all the bad sequences. We show that, given a monitor and a trace, the problem to check that both the monitor and the trace have a common sequence is NP-complete in the number of concurrent processes. Our method explores the possible configurations symbolically, since it handles sets of configurations. Moreover, it uses techniques similar to the partial order reduction, to avoid exploring as many execution interleavings as possible. It works very well in practice, compared to the standard exploration method, with or without partial order reduction (which, in practice, does not work well here).