FDR (Failures-Divergences Refinement) and subsequently FDR2 are refinement checking software tools, designed to check formal models expressed in Communicating sequential processes (CSP). The tools were originally developed by Formal Systems (Europe) Ltd. Bill Roscoe of the Department of Computer Science, University of Oxford devised many of the algorithms used by the tool and Michael Goldsmith was instrumental in the implementation. FDR2 is developed by Oxford University Department of Computer Science from where is it is freely available for academic and other non-commercial use: 
FDR is often described as a model checker, but is technically a refinement checker, in that it converts two CSP process expressions into Labelled Transition Systems (LTSs), and then determines whether one of the processes is a refinement of the other within some specified semantic model (traces, failures, failures/divergence and some other alternatives). FDR2 applies various state-space compression algorithms to the process LTSs in order to reduce the size of the state-space that must be explored during a refinement check.
FDR2 has gone through many releases, having replaced the earlier tool now referred to as FDR1 in 1995. It will in turn be replaced by FDR3 in 2013/4, a completely re-written version incorporating amongst other things parallel execution and an integrated type checker.
- Formal Systems (Europe) Ltd.
- Professor Michael Goldsmith (also now of Oxford University).
- Philippa Broadfoot and Bill Roscoe. Tutorial on FDR and Its Applications. In Klaus Havelund, John Penix, Willem Visser (editors), SPIN model checking and software verification, Springer-Verlag, Lecture Notes in Computer Science, Volume 1885, page 322, 2000.
- Software: FDR2, with commercial licences obtainable from Formal Systems (Europe) Ltd.
- A.W. Roscoe (1994). Model-checking CSP. In A Classical Mind: essays in Honour of C.A.R. Hoare. Prentice Hall.
|This programming tool–related article is a stub. You can help Wikipedia by expanding it.|