Survey of Existing Tools for Formal Verification

Formal methods have come into wide use because of their effectiveness in verifying %22safety and security%22 requirements of digital systems; a set of requirements for which testing is mostly ineffective. Formal methods are routinely used in the design and verification of high-consequence digital systems in industry. This report outlines our work in assessing the capabilities of commercial and open source formal tools and the ways in which they can be leveraged in digital design workflows.

[1]  A. W. Roscoe,et al.  Tutorial on FDR and Its Applications , 2000, SPIN.

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

[3]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[4]  Mordechai Ben-Ari,et al.  Principles of the spin model checker , 2008 .

[5]  Klaus Havelund,et al.  Model checking JAVA programs using JAVA PathFinder , 2000, International Journal on Software Tools for Technology Transfer.

[6]  Fausto Giunchiglia,et al.  NUSMV: A New Symbolic Model Verifier , 1999, CAV.

[7]  Matthew K. O. Lee,et al.  The B-Method , 1991, VDM Europe.

[8]  Thai Son Hoang,et al.  Rodin: an open toolset for modelling and reasoning in Event-B , 2010, International Journal on Software Tools for Technology Transfer.

[9]  Marco Pistore,et al.  Nusmv version 2: an opensource tool for symbolic model checking , 2002, CAV 2002.

[10]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[11]  Wang Yi,et al.  UPPAAL - a Tool Suite for Automatic Verification of Real-Time Systems , 1996, Hybrid Systems.

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

[13]  Automatically Discharging VDM Proof Obligations using HOL4 , 2007 .

[14]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[15]  Dines Bjørner,et al.  The Vienna Development Method: The Meta-Language , 1978, Lecture Notes in Computer Science.

[16]  D. Andrews The Vienna development method , 1990 .

[17]  Klaus Havelund,et al.  Java PathFinder, A Translator from Java to Promela , 1999, SPIN.

[18]  John G. P. Barnes,et al.  High Integrity Software - The SPARK Approach to Safety and Security , 2003 .

[19]  J. T. Webb,et al.  Malpas — Verification of a Safety Critical System , 1987 .

[20]  Thomas A. Henzinger,et al.  The software model checker B last : Applications to software engineering , 2007 .