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.

Full Text:


DOI: http://dx.doi.org/10.7146/brics.v2i54.19955
This website uses cookies to allow us to see how the site is used. The cookies cannot identify you or any content at your own computer.

ISSN: 0909-0878 

Hosted by the Royal Danish Library and Aarhus University Library