Checking Computations of Formal Method Tools - A Secondary Toolchain for ProB
This work addresses the need for reliable outputs in high-integrity safety-critical applications by providing a secondary validation toolchain, though it is incremental as it builds on existing tools like ProB.
The authors tackled the problem of verifying computations from formal method tools by implementing pyB, a predicate and expression checker for the B language, to double-check solutions from ProB, resulting in a toolchain successfully tested on industrial B machines and data validation tasks.
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.