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.
Jessica Petrasch, Jan-Hendrik Oepen, Sebastian Krings, Moritz Gericke. Writing a Model Checker in 80 Days: Reusable Libraries and Custom Implementation. Accepted for AVoCS 2018, 2018.