A Case Study in Automated Verification Based on Trace Abstractions

  • Nils Klarlund
  • Mogens Nielsen
  • Kim Sunesen


In [14], we proposed a framework for the automatic verification of reactive
systems. Our main tool is a decision procedure, Mona, for Monadic
Second-order Logic (M2L) on finite strings. Mona translates a formula in
M2L into a finite-state automaton. We show in [14] how traces, i.e. finite
executions, and their abstractions can be described behaviorally. These
state-less descriptions can be formulated in terms of customized temporal
logic operators or idioms.
In the present paper, we give a self-contained, introductory account of
our method applied to the RPC-memory specification problem of the 1994
Dagstuhl Seminar on Specification and Refinement of Reactive Systems.
The purely behavioral descriptions that we formulate from the informal
specifications are formulas that may span 10 pages or more.
Such descriptions are a couple of magnitudes larger than usual temporal
logic formulas found in the literature on verification. To securely
write these formulas, we introduce Fido [16] as a reactive system description
language. Fido is designed as a high-level symbolic language for
expressing regular properties about recursive data structures.
All of our descriptions have been verified automatically by Mona from
M2L formulas generated by Fido.
Our work shows that complex behaviors of reactive systems can be
formulated and reasoned about without explicit state-based programming.
With Fido, we can state temporal properties succinctly while enjoying
automated analysis and verification.
How to Cite
Klarlund, N., Nielsen, M., & Sunesen, K. (1995). A Case Study in Automated Verification Based on Trace Abstractions. BRICS Report Series, 2(54). https://doi.org/10.7146/brics.v2i54.19955