“…Although model-checking has been mainly used for verifying concurrent systems (communication protocols, distributed applications, hardware architectures), the underlying techniques and algorithms are useful in other contexts as well. In particular, several problems related to the analysis of sequential systems can be formulated as model-checking problems on single trace Ltss: intrusion detection by auditing of log file information, as in the Ustat rule-based expert system [13], in which security properties of log files are encoded as state transition diagrams; trace analysis for program debugging, as in the Opium trace analyzer for Prolog [8], which uses a dedicated language for describing trace queries; and run-time monitoring by observation of event traces in real-time, as in the Motel monitoring system [6], which uses Ltl [19] for expressing test requirements and for synthesizing observers. It appears that, when analyzing sequential systems, existing modal-checking algorithms can be optimized significantly, especially by reducing their memory consumption, which is crucial for scaling up to larger systems.…”