220 likes | 381 Views
Underapproximation for Model-Checking Based on Random Cryptographic Constructions. Arie Matsliah (presenting) and Ofer Strichman. Introduction. Motivation: Efficient “bug-hunters” for heavy verification instances Underapproximation: M, M’ – Kripke structures
E N D
Underapproximation for Model-Checking Based on Random Cryptographic Constructions Arie Matsliah (presenting) and Ofer Strichman
Introduction Motivation: • Efficient “bug-hunters” for heavy verification instances Underapproximation: • M, M’ – Kripke structures • M’underapproximatesM if for every LTL formula φ: Mφ → M’φ • M’ has a subset of the behaviors of M Our goal: • Automatic and efficient underapproximation-based model checking
Model-checking with underapproximation Refine: add behaviors • Potentially good for falsification, not verification. ? M’φ M M’ Model- checker M’φ φ fail
What makes Model Checking hard? • The time complexity of model checking depends exponentially on the number of inputs Natural approach for Underapproximation: reduce # of inputs. M’ M inputs inputs outputs outputs
Reducing the number of inputs • An underlying assumption: “The values of some of the inputs are immaterial for exposing the bug” • A simple technique for underapproximation: fixing inputs. • Pick those inputs manually (using high-level information). • Fix their value. • A similar process which is automatic and complete is ineffective. • Our method: reduce # inputs without fixing any.
Our contribution Underapproximation which: • Reduces the number of inputs • Maintains a measurable and uniform degree of freedom to the original inputs • Based on adding circuitry to the model. • Can be applied to any form of verification new inputs inputs outputs C M’ original inputs M outputs
Main idea - Universality • A (combinatorial) circuit C is k-universal if • any valuation of at most k of its outputs ... • ...can be reached under some assignment to its inputs. • Example: 2-universal circuit inputs outputs 00 0 0 0 10 1 0 1 01 0 1 1 11 1 1 0 • Why universality? • if #(important inputs) ≤ k, then k-universal circuit is enough inputs C outputs
Universality of some naïve methods M’ C Fixing some of the inputs to constants 0-universal 0 1 1 0 inputs outputs M Merge groups of inputs together 1-universal M’ C inputs outputs M
Inspiration - Pseudo Random Generators (PRGs) random string Generator f f f f f f f pseudorandom string PRG construction [NW 94]: • the circuit has certain properties • f is “hard to invert” Our construction: • the circuit is random • f is a XOR function looks random for any poly-time algorithm
Using universal circuits new inputs C M’ original inputs M outputs
Constructing universal circuits A random matrix inputs (inputs of M’) i6 i5 i4 i2 i3 i1 i6 i5 i4 i2 i3 i1 1 1 1 o1 1 1 1 o2 C 1 1 1 o3 1 1 1 o4 1 1 o5 1 1 1 o6 o6 o7 o5 o4 o2 o3 o1 1 1 1 o7 outputs (inputs of M) mod 2
How universal is C? • Lemma:if every k rows in A are linearly independent– C is k-universal • Proof (for k=3, n=7, m=6): A’ A i6 i6 i5 i5 i4 i4 i2 i3 i2 i3 i1 i1 1 1 1 1 1 1 o2 o1 1 1 1 1 1 1 o4 o2 1 1 1 1 1 1 o7 o3 1 1 1 o4 1 1 o5 A’ 1 1 1 o6 1 1 1 o7 A’ has full rank all 23 values covered
How universal is C? • Lemma:for k=O(m/log n), with high probability, every k rows in A are linearly independent • Proof (for k=3, n=7, m=6): A’ A i6 i6 i5 i5 i4 i4 i2 i3 i2 i3 i1 i1 A1 1 1 1 1 1 1 o1 o1 1 1 1 1 1 1 o4 o2 A4 1 1 1 1 1 1 o6 o3 1 1 1 o4 Pr[A1 is in span(A4,A6)] ≤ 22/26 for general k,m,n: Pr[ … ] ≤ 2-m+k-1 Apply Union Bound 1 1 o5 A6 1 1 1 o6 1 1 1 o7
How universal is C? • Lemma:for k=O(m/log n), with high probability, every k rows in A are linearly independent • Lemma:if everykrows inAare linearly independent–Cis k-universal • Corollary:for k=O(m/log n), with high probability, C isk-universal Sample values:
Better bounds for k k cannot be larger than m • What if we relax the requirement? • Lemma:for any ε > 0 and k ≤ m - log m – log (1/ε), each subset ofk outputs is coveredwith probability 1-ε for any k ≤ m - log m – 7, each subset ofk outputs is coveredwith probability ~0.99 Sample values: m 20 30 40 50 70 100 200 500 800 1000 k 7 18 28 37 57 86 185 484 783 983
What now?... • The main contribution of the work is theoretical: • Showing relevance of universality to model-checking. • Proving universality properties of PRG-like circuits. • Experiments show that indeed universality matters. • The challenge: from theory to practice.
Experiments • Implemented in IBM RuleBase PE • 17 BMC instances with known bugs • For each design with n inputs, we generated a new design with m inputs, for m = n/2, n/3, n/5, n/10 • We compared the following methods: • Our: Our circuit with m inputs. • Orig: No underapproximation • Fix: Fixing n-m inputs to some constant. • Set: Partitioning the inputs to m sets. All inputs in the same set are mapped to a single input.
Run-times -13.6% -17.5% -22.7% -47.1%4.7% 50.2%
Run-times 6.2% 7.2% 105.9% 140.6% -13.6% -17.5% -22.7% -47.1%
probability of each input to be included in the fanin inputs The effect of m and p • Tested 4 heaviest designs with various m and p’s • Depth in which bug was found, was increased in this many designs: p m
Mk M2 M1 C M0 Future work • Attach the circuit C to the unrolled model • Refinement strategies • Construct universal circuitswithout XORs • Construct universal circuitsdeterministically • Experiments with (unbounded) model-checking + simulation