Reachability Analysis of Concurrent Boolean Programs with Symbolic Counter Abstraction

Abstract A basic problem in software model checking is the choice of a model for software. Boolean program is the most popular representation and is amenable to model checking. We show how to apply counter abstraction to real world concurrent Boolean programs to eliminate state redundancy. We present a model checking algorithm for thread-state reachability analysis of concurrent Boolean programs, constructing Karp-Miller coverability tree directly on a Boolean program. And finally evaluate the performance of the approach using a substantial set of Boolean program benchmarks.