Go to the Next or Previous section, the Detailed Contents, or the FS(E)L Home Page.


1.1 What is FDR?

FDR (Failures-Divergence Refinement) is a model-checking tool for state machines, with foundations in the theory of concurrency based around CSP--Hoare's Communicating Sequential Processes [Hoare85]. Its method of establishing whether a property holds is to test for the refinement of a transition system capturing the property by the candidate machine. There is also the ability to check determinism of a state machine, and this is used primarily for checking security properties [Roscoe95], [RosWood94]. The main ideas behind FDR are presented in [Roscoe94].

Previous versions of the tool (up to 1.4x) used only explicit model-checking techniques: the check proceeds by a recursion induction which fully expands the reachable state-space of the two systems and visits each pair of supposedly corresponding states in turn. Although it is very efficient in doing this and can deal with processes with approximately 107 [10 to the power 7] states in a few hours on a typical workstation, the exponential growth of state-space with the number of parallel processes in a network represents a significant limit on its utility.

The primary aim in the development of the new version of the tool, FDR2, was to improve on the flexibility and scalability of the tool. In particular, FDR2 offers

This last item means that FDR2 can check systems which are sometimes exponentially larger than those which FDR1 can--such as a network of 1020 [10 to the power 20] (or 100100 [100 to the power 100]) dining philosophers [RosEtAl95].

The "back-end" state-exploring code has been completely re-crafted. FDR2 marries this to a new parser/compiler based on Scattergood's implementation of the operational semantics of CSP [Scat95]. Experimental hooks for attaching "alien" state-machine descriptions have been developed, so it is possible for FDR2 to operate on files created by other techniques.


Go to the Next or Previous section, the Detailed Contents, or the FS(E)L Home Page.