Abstract
FDR is the most well-known verification tool for CSP. Since its early beginnings in 1980s, it has developed into one of the world’s fastest model checking tools. Over the years, FDR has made a significant impact across academic subject areas, most notably in cyber-security, as well as across industrial domains, such as high-tech manufacturing, telecommunications, aerospace, and defence. In honour of Bill Roscoe’s 60th birthday, this paper provides a brief history of FDR, together with a collection of notable examples of FDR’s practical impact in these areas.
The rights of this work are transferred to the extent transferable according to title 17 § 105 U.S.C.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
There were actually several major versions of FDR2 released: FDR 2.83 represented the final version that Formal Systems produced, whilst FDR 2.94 was a significant new release of FDR2 that incorporated, amongst numerous other enhancements, support for several new denotational models.
- 2.
- 3.
References
Unmanned Safe Maritime Operations Over The Horizon (USMOOTH) (2015). http://gtr.rcuk.ac.uk/projects?ref=102303
Arruda, F., Sampaio, A., Barros, F.: Capture and replay with text-based reuse and framework agnosticism. In: Software Engineering and Knowledge Engineering (2016)
Broadfoot, G.H.: Using CSP to support the cleanroom development method for software development. MSc Thesis, University of Oxford (2001)
Broadfoot, P.J., Roscoe, A.W.: Embedding agents within the intruder to detect parallel attacks. J. Comput. Secur. 12(3,4), 379–408 (2004)
Carvalho, G., Barros, F.A., Carvalho, A., Cavalcanti, A., Mota, A., Sampaio, A., NAT2TEST tool: From natural language requirements to test cases based on CSP. In: Software Engineering and Formal Methods (2015)
Carvalho, G., Sampaio, A., Mota, A.: A CSP timed input-output relation and a strategy for mechanised conformance verification. In: ICFEM (2013)
Cavalcanti, A., Hierons, R.M., Nogueira, S., Sampaio, A.: A suspension-trace semantics for CSP. In: Theoretical Aspects of Software Engineering (2016)
Clarkson, M.R., Schneider, F.B.: Hyperproperties. J. Comput. Secur. 18(6), 1157–1210 (2010)
Creese, S., Goldsmith, M., Harrison, R., Roscoe, A.W., Whittaker, P., Zakiuddin, I.: Exploiting empirical engagement in authentication protocol design. In: Security in Pervasive Computing (2005)
de Jongh, H.: Brabantse vinding verslaat Indiase softwaremakers. http://fd.nl/entrepreneur/wereldveroveraars/634621-1211/brabantse-vinding-verslaat-indiase-softwaremakers
Dilloway, C., Lowe, G.: Specifying secure transport layers. In: CSFW (2008)
Formal Systems (Europe) Limited (2013)
Gibson-Robinson, T., Armstrong, P., Boulgakov, A., Roscoe, A.W.: FDR3: a parallel refinement checker for CSP. Int. J. Softw. Tools Technol. Transf. 18(2), 149–167 (2016)
Groote, J.F., Osaiweran, A., Wesselius, J.H.: Analyzing the effects of formal methods on the development of industrial control software. In: ICSM (2011)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall Inc., Upper Saddle River (1985)
Hopcroft, P.J., Broadfoot, G.H.: Combining the box structure development method and CSP. Electron. Notes Theoret. Comput. Sci. 128(6), 127–144 (2005)
Lowe, G.: Breaking and fixing the Needham-Schroeder public-key protocol using FDR. In: TACAS (1996)
Lowe, G.: Casper: a compiler for the analysis of security protocols. J. Comput. Secur. 6(1–2), 53–84 (1998)
Mills, H.D., Linger, R.C., Hevner, A.R.: Principles of Information Systems Analysis and Design. Academic Press, New York (1986)
Needham, R., Schroeder, M.: Using encryption for authentication in large networks of computers. Commun. ACM 21(12), 993–999 (1978)
Nogueira, S., Sampaio, A., Mota, A.: Test generation from state based use case models. Formal Aspects of Comput. (2014)
O’Halloran, C.: A calculus of information flow. In: ESORICS (1990)
O’Halloran, C.: Category theory and information flow applied to computer security. DPhil Thesis, University of Oxford (1993)
O’Halloran, C.: Assessing Safety Critical COTS Systems (1999)
Prowell, S.J., Poore, J.H.: Sequence-based software specification of deterministic systems. Softw. Practi. Experience 28(3), 329–344 (1998)
REF 2014. Automated software design and verification. http://impact.ref.ac.uk/CaseStudies/CaseStudy.aspx?Id=4907
Roscoe, A.W.: Model-checking CSP. In: A Classical Mind, pp. 353–378. Prentice Hall International (UK) Ltd., Hertfordshire (1994)
Roscoe, A.W.: Modelling and verifying key-exchange protocols using CSP and FDR. In: CSFW (1995)
Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice Hall, Englewood Cliffs (1997)
Roscoe, A.W.: CSP is expressive enough for \(\pi \). In: Reflections on the Work of CAR Hoare (2010)
Roscoe, A.W.: Understanding Concurrent Systems. Springer, Heidelberg (2010)
Roscoe, A.W., Broadfoot, P.J.: Proving security protocols with model checkers by data independence techniques. J. Comput. Secur. (1999)
Roscoe, A.W., Gardiner, P.H.B., Goldsmith, M.H., Hulance, J.R., Jackson, D.M., Scattergood, J.B.: Hierarchical compression for model-checking CSP or how to check \(10^{20}\) dining philosophers for deadlock. In: TACAS (1995)
Roscoe, A.W., Goldsmith, M.: The perfect spy for model-checking crypto-protocols. In: DIMACS (1997)
Roscoe, A.W., Goldsmith, M.H., Cox, A.D.B., Scattergood, J.B.: Formal Methods in the Development of the H1 Transputer. In: WOTUG (1991)
Roscoe, A.W., Hopcroft, P.J.: Theories of programming and formal methods. Chapter Slow Abstraction via Priority (2013)
Sampaio, A., Nogueira, S., Mota, A., Isobe, Y.: Sound and mechanised compositional verification of input-output conformance. Softw. Testing Verification Reliab. 24(4), 289–319 (2014)
Tretmans, J.: Test Generation with Inputs, Outputs, and Quiescence. In: TACAS (1996)
Tudor, N.J., Botham, J.: Proving properties of automotive systems of systems under ISO 26262 using automated formal methods. In: System Safety and Cyber Security (2014)
Zakiuddin, I., Moffat, N., O’Halloran, C., Ryan, P.: Chasing events to certify a critical system. Technical report (1998)
Acknowledgements
We are hugely grateful to Michael Goldsmith for his expert memory recalling the early days of FDR.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Gibson-Robinson, T. et al. (2017). FDR: From Theory to Industrial Application. In: Gibson-Robinson, T., Hopcroft, P., Lazić, R. (eds) Concurrency, Security, and Puzzles. Lecture Notes in Computer Science(), vol 10160. Springer, Cham. https://doi.org/10.1007/978-3-319-51046-0_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-51046-0_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-51045-3
Online ISBN: 978-3-319-51046-0
eBook Packages: Computer ScienceComputer Science (R0)