Introducing Formal Methods into Industry using Cleanroom and CSP

In this paper, we present an overview of our observations and experiences of applying formal methods in an industrial setting and incorporating them into a practical software development process. This work has developed from an ongoing collaboration between the two authors coming from opposite ends of the spectrum and sharing a mutual interest in bridging the gap between academic research in formal methods and their current lack of use in the software industry. We explore a number of observations as to why, despite their need in industry and their strong presence in academia, formal methods are not widely exploited in practice. The problem we are interested in is the use of formal methods to develop software systems of a businesscritical and untestable nature, where the software forms an essential part of some core product or service

[1]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[2]  Gregory Tassey,et al.  Prepared for what , 2007 .

[3]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[4]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[5]  S. Prowell,et al.  Sequence-Based Software Specification of Deterministic Systems , 1998, Softw. Pract. Exp..

[6]  Harlan D. Mills,et al.  Structured programming - theory and practice , 1979, The systems programming series.

[7]  Stacy J. Prowell,et al.  Foundations of Sequence-Based Software Specification , 2003, IEEE Trans. Software Eng..

[8]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[9]  Harlan D. Mills,et al.  Stepwise refinement and verification in box-structured systems , 1988, Computer.

[10]  Stacy J. Prowell,et al.  Cleanroom software engineering: technology and process , 1999 .

[11]  Harlan D. Mills,et al.  Cleanroom Software Engineering , 1987, IEEE Software.

[12]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[13]  Andrew William Roscoe,et al.  Model-checking CSP , 1994 .

[14]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture Volume 1: A System of Patterns , 1996 .

[15]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[16]  Alan R. Hevner,et al.  Principles of Information Systems Analysis and Design , 1986 .