How to Select the Suitable Formal Method for an Industrial Application: A Survey

The share of formal methods is still marginal in contemporary systems and software engineering. One of the reasons is the absence of systematic guidelines and evaluation criteria that help software practitioners choose the right formal method for the problem at hand. In this paper, we present a comprehensive set of criteria, based on a systematic literature review and decade-long personal experience in industrial projects, for evaluating and comparing different formal methods. We argue that besides technical grounds e.g., modeling capabilities and supported development phases, formal methods should also be evaluated from social and industrial perspectives. At the end of the paper, we present an evaluation of "ABZ" methods based on the stipulated criteria.

[1]  Daniel Jackson,et al.  Formal Modeling and Analysis of a Flash Filesystem in Alloy , 2008, ABZ.

[2]  Ashish Kumar Dwivedi,et al.  Model to specify real time system using Z and alloy languages: A comparative approach , 2012, ICSE 2012.

[3]  Richard Banach,et al.  A Continuous ASM Modelling Approach to Pacemaker Sensing , 2014, TSEM.

[4]  James M. Purtilo,et al.  Software Specification: A Comparison of Formal Methods , 1995 .

[5]  J. R. Abrial,et al.  The B-Book: Programming , 1996 .

[6]  S. K. Pandey,et al.  Formal Methods in Requirements Phase of SDLC , 2013 .

[7]  Atif Mashkoor,et al.  Towards the Trustworthy Development of Active Medical Devices: A Hemodialysis Case Study , 2016, IEEE Embedded Systems Letters.

[8]  H. P. Haughton Using Z to model and analyse safety and liveness properties of communication protocols , 1991 .

[9]  Richard Banach Model Based Refinement and the Tools of Tomorrow , 2008, ABZ.

[10]  Xiaodong Liu,et al.  Formal methods for the re-engineering of computing systems: a comparison , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[11]  Bernhard Rumpe,et al.  Semantically configurable consistency analysis for class and object diagrams , 2011, MODELS'11.

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

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

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

[15]  Richard Banach,et al.  Formalising the Continuous/Discrete Modeling Step , 2011, Refine@FM.

[16]  Nazareno Aguirre,et al.  An Equational Calculus for Alloy , 2004, ICFEM.

[17]  Dermot Cochran,et al.  Formal Model-Based Validation for Tally Systems , 2013, VoteID.

[18]  Mark A. Hillebrand,et al.  VCC: A Practical System for Verifying Concurrent C , 2009, TPHOLs.

[19]  Kaisa Sere,et al.  Derivation of concurrent programs by stepwise scheduling of Event-B models , 2012, Formal Aspects of Computing.

[20]  Leslie Lamport,et al.  Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review] , 2002, Computer.

[21]  Klaus-Dieter Schewe,et al.  A new thesis concerning synchronised parallel computing - simplified parallel ASM thesis , 2015, Theor. Comput. Sci..

[22]  Klaus-Dieter Schewe,et al.  A Rigorous Semantics for BPMN 2.0 Process Diagrams , 2014, Springer International Publishing.

[23]  Thai Son Hoang,et al.  Event-B Decomposition for Parallel Programs , 2010, ASM.

[24]  J. R. Abrial,et al.  The B-Book: Mathematics , 1996 .

[25]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[26]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

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

[28]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[29]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[30]  Ting Wang,et al.  Active Attacking Multicast Key Management Protocol Using Alloy , 2012, ABZ.

[31]  Jozef Hooman,et al.  Modeling and Validating Distributed Embedded Real-Time Systems with VDM++ , 2006, FM.

[32]  John C. Knight,et al.  Why are Formal Methods Not Used More Widely , 1997 .

[33]  Mark A. Ardis,et al.  A Framework for Evaluating Specification Methods for Reactive Systems , 1995, 1995 17th International Conference on Software Engineering.

[34]  Carlo Ghezzi,et al.  TRIO: A logic language for executable specifications of real-time systems , 1990, J. Syst. Softw..

[35]  Atif Mashkoor,et al.  Improving the Understandability of Formal Specifications: An Experience Report , 2014, REFSQ.

[36]  Atif Mashkoor,et al.  Utilizing Event-B for domain engineering: a critical analysis , 2011, Requirements Engineering.

[37]  Pamela Zave A practical comparison of Alloy and Spin , 2014, Formal Aspects of Computing.

[38]  Ramadan Abdunabi,et al.  Enforcing spatio-temporal access control in mobile applications , 2013, Computing.

[39]  Atif Mashkoor,et al.  Using Probabilistic Analysis for the Certification of Machine Control Systems , 2013, CD-ARES Workshops.

[40]  Arvinder Kaur,et al.  Analysis of Three Formal Methods-Z, B and VDM , 2012 .

[41]  Atif Mashkoor,et al.  Stepwise Validation of Formal Specifications , 2011, 2011 18th Asia-Pacific Software Engineering Conference.

[42]  Thomas Mcgibbon An Analysis of Two Formal Methods: VDM and Z , 1999 .

[43]  Stephan Merz,et al.  The Specification Language TLA , 2008 .

[44]  Chris Newcombe Why Amazon Chose TLA + , 2014, ABZ.

[45]  Cliff B. Jones,et al.  Systematic software development using VDM (2. ed.) , 1990, Prentice Hall International Series in Computer Science.

[46]  Antonio Bucchiarone,et al.  Web Service Composition Approaches: From Industrial Standards to Formal Methods , 2007, Second International Conference on Internet and Web Applications and Services (ICIW'07).

[47]  Felix Kossak Landing Gear System: An ASM-Based Solution for the ABZ Case Study , 2014, ABZ.

[48]  Stéphane Paul,et al.  Formal Safety and Security Assessment of an Avionic Architecture with Alloy , 2014, ESSS.

[49]  Giovanna Dondossola Formal methods in the development of safety critical Knowledge-Based components , 1998, EUROVAV.

[50]  Jonathan P. Bowen Z: a formal specification notation , 2001 .