We present Boom, a comprehensive analysis tool for Boolean programs. We focus in this paper on model-checking non-recursive concurrent programs.
Boom implements a recent variant of counter abstraction, where thread counters are used in a program-context aware way. While designed for bounded counters, this method also integrates
well with the Karp-Miller tree construction for vector addition systems, resulting in a reachability engine for programs with
unbounded thread creation. The concurrent version of Boom is implemented using BDDs and includes partial order reduction methods. Boom is intended for model checking system-level code via predicate abstraction. We present experimental results for the verification
of Boolean device driver models.
Supported by the Swiss National Science Foundation (200021-109594) and the Engineering and Physical Sciences Research Council
(EP/G026254/1,EP/D037085/1).