Checking Computations of Formal Method Tools - A Secondary Toolchain for ProB

We present the implementation of pyB, a predicate - and expression - checker for the B language. The tool is to be used for a secondary tool chain for data validation and data generation, with ProB being used in the primary tool chain. Indeed, pyB is an independent cleanroom-implementation which is used to double-check solutions generated by ProB, an animator and model-checker for B specifications. One of the major goals is to use ProB together with pyB to generate reliable outputs for high-integrity safety critical applications. Although pyB is still work in progress, the ProB/pyB toolchain has already been successfully tested on various industrial B machines and data validation tasks.

[1]  Michael Leuschel,et al.  Automated Property Verification for Large Scale B Models , 2009, FM.

[2]  Michael Leuschel,et al.  Seven at one stroke: LTL model checking for high-level specifications in B, Z, CSP, and more , 2009, International Journal on Software Tools for Technology Transfer.

[3]  Michael J. Butler,et al.  ProB: an automated analysis toolset for the B method , 2008, International Journal on Software Tools for Technology Transfer.

[4]  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.

[5]  Xavier Leroy,et al.  Formal verification of translation validators: a case study on instruction scheduling optimizations , 2008, POPL '08.

[6]  Frank Waters,et al.  The B Book , 1971 .

[7]  Xavier Leroy,et al.  Formal Verification of a C-like Memory Model and Its Uses for Verifying Program Transformations , 2008, Journal of Automated Reasoning.

[8]  Michael Leuschel,et al.  Under consideration for publication in Formal Aspects of Computing Automated Property Verification for Large Scale B Models with ProB , 2010 .

[9]  Michael J. Butler,et al.  An Open Extensible Tool Environment for Event-B , 2006, ICFEM.

[10]  Thierry Servat,et al.  BRAMA: A New Graphic Animation Tool for B Models , 2007, B.

[11]  Frédéric Badeau,et al.  Formal Data Validation with Event-B , 2012, ArXiv.

[12]  Michael Leuschel,et al.  Formally Checking Large Data Sets in the Railways , 2012, ArXiv.

[13]  C. A. R. Hoare,et al.  The verifying compiler: A grand challenge for computing research , 2003, JACM.

[14]  Jean-Pierre Jacquot,et al.  The Case for Using Simulation to Validate Event-B Specifications , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[15]  Michael J. Butler,et al.  ProB: A Model Checker for B , 2003, FME.