Ten commandments revisited: a ten-year perspective on the industrial application of formal methods

Ten years ago, our 1995 paper Ten Commandments of Formal Methods [5] suggested some guidelines to help ensure the success of a formal methods project. It proposed ten important requirements (or "commandments") for formal developers to consider and follow, based on our knowledge of several industrial application success stories, most of which have been reported in more detail in two books [17],[18]. The paper was surprisingly popular, is still widely referenced, and used as required reading in a number of formal methods courses. However, not all have agreed with some of our commandments, feeling that they may not be valid in the long-term. We re-examine the original commandments ten years on, and consider their validity in the light of a further decade of industrial best practice and experiences.

[1]  Anthony Hall,et al.  Seven myths of formal methods , 1990, IEEE Software.

[2]  Jin Song Dong,et al.  Relating /spl pi/-calculus to Object-Z , 2004, Proceedings. Ninth IEEE International Conference on Engineering of Complex Computer Systems.

[3]  David Lorge Parnas,et al.  An Invitation to Formal Methods , 1996, Computer.

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

[5]  Clemens Fischer Combination and implementation of processes and data: from CSP-OZ to Java , 2000 .

[6]  Jonathan P. Bowen,et al.  High-Integrity System Specification and Design , 1999 .

[7]  Jonathan P. Bowen,et al.  High-Integrity System Specification and Design , 1999, Formal Approaches to Computing and Information Technology (FACIT).

[8]  J. L. Lions ARIANE 5 Flight 501 Failure: Report by the Enquiry Board , 1996 .

[9]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach (McGraw-Hill Series in Computer Science) , 2004 .

[10]  Roy Sterritt,et al.  Why computer-based systems should be autonomic , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[11]  Whole Grain Label Statements Guidance for Industry and FDA Staff , 2006 .

[12]  C. A. R. Hoare Assertions: A Personal Perspective , 2002, Software Pioneers.

[13]  Anthony Hall,et al.  Formal Methods start to add up once again , 2004 .

[14]  O. Catuneanu,et al.  Towards a Synthesis , 2004 .

[15]  Jean-Raymond Abrial B#: Toward a Synthesis between Z and B , 2003, ZB.

[16]  Petra Malik,et al.  CZT: A Framework for Z Tools , 2005, ZB.

[17]  James L. Rash,et al.  An approach to generating and verifying complex scripts and procedures , 2005, 2005 IEEE Computational Systems Bioinformatics Conference - Workshops (CSBW'05).

[18]  C. A. R. Hoare The Verifying Compiler: A Grand Challenge for Computing Research , 2003, Euro-Par.

[19]  R. Bell,et al.  IEC 61508: functional safety of electrical/electronic/ programme electronic safety-related systems: overview , 1999 .

[20]  Graeme Smith,et al.  The Object-Z Specification Language , 1999, Advances in Formal Methods.

[21]  Gary T. Leavens,et al.  How the design of JML accommodates both runtime assertion checking and formal verification , 2003, Sci. Comput. Program..

[22]  Bill Stoddart,et al.  An operational semantics for ZCCS , 1997, First IEEE International Conference on Formal Engineering Methods.

[23]  Jonathan P. Bowen,et al.  Seven More Myths of Formal Methods , 1995, IEEE Softw..

[24]  M. Ben-Ari,et al.  Principles of Concurrent and Distributed Programming (2nd Edition) (Prentice-Hall International Series in Computer Science) , 2006 .

[25]  C. A. R. Hoare,et al.  How Did Software Get So Reliable Without Proof? , 1996, FME.

[26]  Jonathan P. Bowen,et al.  Ten Commandments of Formal Methods , 1995, Computer.

[27]  Eerke Albert Boiten,et al.  Integrated Formal Methods: 4th International Conference, IFM 2004, Canterbury, UK, April 4-7, 2004, Proceedings , 2004 .

[28]  C. A. R. Hoare,et al.  Assertions: A Personal Perspective , 2003, IEEE Ann. Hist. Comput..

[29]  Donald MacKenzie,et al.  Mechanizing Proof: Computing, Risk, and Trust , 2001 .

[30]  Nancy G. Leveson,et al.  An investigation of the Therac-25 accidents , 1993, Computer.

[31]  C. M. Holloway Why engineers should consider formal methods , 1997, 16th DASC. AIAA/IEEE Digital Avionics Systems Conference. Reflections to the Future. Proceedings.

[32]  Robert B. France,et al.  Integrated Structured Analysis and Formal Specification Techniques , 1992, Comput. J..

[33]  Michael Butler,et al.  U2B - A tool for translating UML-B models into B , 2004 .

[34]  Jin Song Dong,et al.  ZML: XML Support for Standard Z , 2003, ZB.

[35]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[36]  David Crocker,et al.  Safe Object-Oriented Software: The Verified Design-By-Contract Paradigm , 2004 .

[37]  上海交通大学 Proceedings, 10th IEEE International Conference on Engineering of Complex Computer Systems : ICECCS 2005 : 16-20 June 2005, Shanghai, China , 2005 .

[38]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[39]  L. Duchien,et al.  A Method for Specifying and Proving Distributed Cooperative Algorithms , 1995 .

[40]  Jonathan P. Bowen,et al.  Reinforced Condition/Decision Coverage (RC/DC): A New Criterion for Software Testing , 2002, ZB.

[41]  김수동,et al.  [서평]「Software Engineering : A Practitioner's Approach, 4^(th) Edition」 , 1997 .

[42]  Ivar Jacobson,et al.  Unified Modeling Language , 2020, Definitions.

[43]  Jonathan P. Bowen,et al.  Industrial-Strength Formal Methods in Practice , 1999, Formal Approaches to Computing and Information Technology (FACIT).

[44]  Donald MacKenzie,et al.  Computer-related accidental death: an empirical exploration , 1994 .

[45]  Jonathan P. Bowen,et al.  ZB 2003: Formal Specification and Development in Z and B , 2003, Lecture Notes in Computer Science.

[46]  David Lorge Parnas,et al.  Software aspects of strategic defense systems , 1985, CACM.

[47]  Ian Johnson,et al.  Rigorous development of reusable, domain-specific components, for complex applications , 2004 .

[48]  John A. Clark,et al.  FORTEST: formal methods and testing , 2002, Proceedings 26th Annual International Computer Software and Applications.

[49]  Howard Bowman,et al.  A Formal Framework for Viewpoint Consistency , 2002, Formal Methods Syst. Des..