Underapproximation for Model-Checking Based on Random Cryptographic Constructions

For two naturals m, n such that m < n, we show how to construct a circuit C with m inputs and n outputs, that has the following property: for some 0 ≤ k ≥ m, the circuit defines a k-universal function. This means, informally, that for every subset K of k outputs, every possible valuation of the variables in K is reachable (we prove that k is very close to m with an arbitrarily high probability). Now consider a circuit M with n inputs that we wish to model-check. Connecting the inputs of M to the outputs of C gives us a new circuit M' with m inputs, that its original inputs have freedom defined by k. This is a very attractive feature for underapproximation in model-checking: on one hand the combined circuit has a smaller number of inputs, and on the other hand it is expected to find an error state fast if there is one. We report initial experimental results with bounded model checking of industrial designs (the method is equally applicable to unbounded model checking and to simulation), which shows mixed results. An interesting observation, however, is that in 13 out of 17 designs, setting m to be n/5 is sufficient to detect the bug. This is in contrast to other underapproximation that are based on reducing the number of inputs, which in most cases cannot detect the bug even with m = n/2.

[1]  Noam Nisan,et al.  Hardness vs. randomness , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[2]  Edmund M. Clarke SAT-Based Counterexample Guided Abstraction Refinement , 2002, SPIN.

[3]  Orna Grumberg,et al.  Combining Symmetry Reduction and Under-Approximation for Symbolic Model Checking , 2002, Formal Methods Syst. Des..

[4]  Robert P. Kurshan,et al.  Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach , 2014 .

[5]  Helmut Veith,et al.  Counterexample-guided abstraction refinement for symbolic model checking , 2003, JACM.

[6]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[7]  Moshe Y. Vardi,et al.  Multiple-Counterexample Guided Iterative Abstraction Refinement: An Industrial Evaluation , 2003, TACAS.

[8]  Alan Hartman,et al.  Problems and algorithms for covering arrays , 2004, Discret. Math..

[9]  Kenneth L. McMillan,et al.  Automatic Abstraction without Counterexamples , 2003, TACAS.

[10]  Gadiel Seroussi,et al.  Vector sets for exhaustive testing of logic circuits , 1988, IEEE Trans. Inf. Theory.

[11]  Kavita Ravi,et al.  Hints to accelerate Symbolic Traversal , 1999, CHARME.

[12]  Bart Selman,et al.  Backdoors To Typical Case Complexity , 2003, IJCAI.

[13]  George J. Milne,et al.  Correct Hardware Design and Verification Methods , 2003, Lecture Notes in Computer Science.

[14]  Kavita Ravi,et al.  High-density reachability analysis , 1995, ICCAD.

[15]  Ofer Strichman,et al.  Proof-guided underapproximation-widening for multi-process systems , 2005, POPL '05.

[16]  Edmund M. Clarke,et al.  Counterexample-guided abstraction refinement , 2003, 10th International Symposium on Temporal Representation and Reasoning, 2003 and Fourth International Conference on Temporal Logic. Proceedings..