BMoth is a prototypical model checker for models written in classical B. Initially, BMoth was a student project intended to teach basics of model checking and how to implement explicit-state and symbolic model checking algorithms. In consequence, its focus lies on reusing existing libraries to reduce implementation effort. Nowadays, BMoth serves as a testbed for novel algorithms and implementation techniques.
Sebastian Krings, Philipp Körner, Joshua Schmidt (2019). Experience Report on An Inquiry-Based Course on Model Checking. Proceedings SEUH, CEUR Workshop Proceedings.