D45 Model Checking

From Event-B
Revision as of 09:08, 14 February 2012 by imported>Leuschel
Jump to navigationJump to search

Overview

TODO An overview of the work done about model checking.

State Space Reduction, Compression and Hashing

Driven by SSF usage of ProB: state compression: simplify states stored so that they require less memory. This was achieved without compromising speed. If the preference COMPRESSION is set to true, then ProB will also detect common (sub-)expressions and store them only once. E.g., when several states have the same same value for a given variable x then its value will only be stored once.

Related to this aspect, the hashing of ProB states was improved on 64-bit architectures, which is also important in the context of detecting common subexpressions for sharing. We have also implemented a SHA1 hashing function for Prolog terms, but it is not yet used in the production version of ProB.

improved performance for hash symmetry markers: both reduction in size and runtime.

In addition, many improvements in constraint solving kernel.


Constraint-Based Checking

Improved Constraint-based checking for deadlocks, invariants and event sequences (used in MBT).


New Features

Experiments with Theory Plugin

Support of finite operator

Improved detection of infinite functions, and improved support for them

Detection when infinite sets had to be approximated


Experiments

Conducted comparison with TLA+ model checker TLC

Motivations

TODO To be completed. The motivations for the state space compression arose from experiments in WP3 (space), and from applications of ProB outside of Deploy.

Choices / Decisions

TODO To be completed.

Aggressive compression can also induce a performance penalty. The new default mode was chosen such that there should be no performance penalty, with reduced memory usage. (Indeed, the time for compression is regained by reduced time to store and retrieve the states.)

A more aggressive setting can be forced by -p COMPRESSION TRUE. This will further reduce memory consumption, but may increase runtime (although quite often it does not).

Available Documentation

TODO To be completed.

Status

TODO To be completed.

The improved hashing and light-weight state compression is available in the current release of ProB. The SHA1 hash technique is not available in the current release. The research on further compression technique is ongoing and will be continued within the project ADVANCE.