We introduce an algorithm for detection of bugs in sequential circuits. This algorithm is incomplete i.e. its failure to find a bug breaking a property P does not imply that P holds. The appeal of incomplete algorithms is that they scale better than their complete counterparts. However, to make an incomplete algorithm effective one needs to guarantee that the probability of finding a bug is reasonably high. We try to achieve such effectiveness by employing the Test-As-Proofs (TAP) paradigm. In our TAP based approach, a counterexample is built as a sequence of states extracted from proofs that some local variations of property P hold. This increases the probability that a) a representative set of states is examined and that b) the considered states are relevant to property P.
We describe an algorithm of test generation based on the TAP paradigm and give preliminary experimental results.
[1]
Robert K. Brayton,et al.
Using problem symmetry in search based satisfiability algorithms
,
2002,
Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.
[2]
Armin Biere,et al.
PicoSAT Essentials
,
2008,
J. Satisf. Boolean Model. Comput..
[3]
Eugene Goldberg.
Boundary Points and Resolution
,
2009,
SAT.
[4]
Eugene Goldberg,et al.
Generating High-Quality Tests for Boolean Circuits by Treating Tests as Proof Encoding
,
2010,
TAP@TOOLS.
[5]
Eugene Goldberg.
On Bridging Simulation and Formal Verification
,
2008,
VMCAI.
[6]
Masahiro Fujita,et al.
Symbolic model checking using SAT procedures instead of BDDs
,
1999,
DAC '99.