Home

prob

ProB is a software tool for the formal methods community, providing an animator, model checker, and constraint solver for formal specifications written in the B-Method, Event-B, and Z notations. It helps users explore and validate models by executing operation sequences, checking invariants, and discovering counterexamples to properties. ProB supports animation of machines and schemas, allowing users to step through events and observe changes in state. It also offers constraint-based data generation, which can be used to create concrete examples that satisfy preconditions and invariants. In addition to animation, ProB provides bounded model checking and analysis for safety properties, enabling the detection of deadlocks or invariant violations within a finite search space. It can generate test data and counterexamples, and supports verification of temporal properties in a limited scope.

ProB is implemented in Java and provides multiple interfaces, including a standalone graphical user interface and

ProB is an open-source project used in both academic and industrial contexts to teach formal methods, verify

integrations
with
other
tools.
It
is
commonly
used
as
a
plug-in
within
Rodin,
the
framework
for
Event-B
development,
and
can
also
be
used
with
other
B-Method
environments
and
the
Z
notation.
The
tool
runs
on
major
platforms
such
as
Windows,
macOS,
and
Linux.
models,
and
assist
debugging
of
specifications.
It
is
maintained
by
a
community
of
researchers
and
developers
and
is
distributed
with
documentation
and
tutorials.
Its
broad
compatibility
with
B,
Event-B,
and
Z
makes
it
a
widely
cited
resource
for
exploring
formal
specifications
and
validating
model
behavior.