Writing a Model Checker in 80 Days: Reusable Libraries and Custom Implementation

Authors

  • Jessica Petrasch
  • Jan-Hendrik Oepen
  • Sebastian Krings
  • Moritz Gericke

DOI:

https://doi.org/10.14279/tuj.eceasst.76.1074

Abstract

During a course on model checking we developed BMoth, a full-stack model checker for classical B, featuring both explicit-state and symbolic model checking. Given that we only had a single university term to finish the project, a particular focus was on reusing existing libraries to reduce implementation workload.
In the following, we report on a selection of reusable libraries, which can be combined into a prototypical model checker relatively easily. Additionally, we discuss where custom code depending on the specification language to be checked is needed and where further optimization can take place. To conclude, we compare to other model checkers for classical B.

Downloads

Published

2019-05-14

How to Cite

[1]
J. Petrasch, J.-H. Oepen, S. Krings, and M. Gericke, “Writing a Model Checker in 80 Days: Reusable Libraries and Custom Implementation”, eceasst, vol. 76, May 2019.