Text
Text
Bounded Model Checking (BMC), was first proposed by Biere et al. in 1999 [4].
It does not solve the complexity problem of model checking, since it still relies on an exponential procedure and hence is limited in its capacity.
Unlike BDD's; BMC has the disadvantage of not being able to prove the absence of errors.
The basic idea in BMC is to search for a counterex in executions whose length is bounded by some integer k.
If no bug is found then one increases k until either a bug
is found, the problem becomes intractable, or some pre-known upper bound is reached. (Completeness Threshold of the design).
The BMC problem can be efficiently reduced to a propositional satisfiability problem, and can therefore be solved by SAT methods rather than BDDs.
SAT procedures do not suffer from the space explosion problem of BDD-based methods.
1. User has to provide a bound on the number of cycles that should be explored, which implies that the method is incomplete if the bound is not high enough.
2. It uses SAT techniques rather than BDDs.
3. If the SAT checkers are tuned to take advantage of the unique structure of the formulas resulting from BMC, this method improves even further.