530 likes | 709 Views
Overview of IC3/PDR. Anvesh Komuravelli Carnegie Mellon University. SAT-Based Bounded Model Checking (BMC). Is there an execution leading to error in < k steps, beginning in I ?. (< k )-reachable ?. BMC + k -Induction.
E N D
Overview of IC3/PDR AnveshKomuravelli Carnegie Mellon University
SAT-Based Bounded Model Checking (BMC) Is there an execution leading to error in < ksteps, beginning in I ? (<k)-reachable?
BMC + k-Induction Is there an execution leading to error in < ksteps, beginning in I ? Is there an execution leading to error in ksteps, beginning in P? (<k)-reachable? k-inductive?
Downside of k-Induction P may not be inductive for any k ! (<k)-reachable? k-inductive?
Strengthen P ! reachable states
BMC + Interpolation (McMillan ‘03) Many improvements followed (k-1) k-reachable? … (k-1) Approximate Forward-Reachability! If abstract counterexample found, start all over again with a bigger k k-reachable?
Forward-Reachability in a nutshell Initial States Over-approximations No counterexample of length (k-1) from Fn No counterexample of length (k-1)+1 from Fn-1 … Also, w.l.o.g., assume that :
Formalizing BMC + Interpolation Abstract Transition System
Formalizing BMC + Interpolation State triple Abstract Transition System
Formalizing BMC + Interpolation Abstract Transition System Downsides • Blow-up in SAT formula size as k gets big • Resolution proof of UNSAT is non-trivial to obtain
A different search strategy Let us restrict to 1-reachable queries ? ? …
A different search strategy Let us restrict to 1-reachable queries … ?
A different search strategy Let us restrict to 1-reachable queries …
A different search strategy Let us restrict to 1-reachable queries
Formalizing the new search strategy Checks k-reachability by explicit state backward search !
CDCL – Local Interpolants Given Find Use algorithms to minimize cores (MUS)
CDCL – Local Interpolants Given Find t …
CDCL – Local Interpolants Given Find … Strengthen Fi+1
CDCL – Local Interpolants Hence, … Strengthen Fi+1
CDCL – Local Interpolants Hence, … Strengthen Fi
Forward Propagation t is bad for Fi+2 as well! Can we reuse φ? t …
Forward Inductive Propagation Given Find
Forward Inductive Propagation Given Find unsat
Forward Inductive Propagation Given Find unsat
Forward Propagation Block φ or s at Fi+2, Fi+3, … …
Long Counterexamples! Block φ or s at Fi+2, Fi+3, … … k … m
Generalizing Predecessors Given Find cube
Generalizing Predecessors Given Find cube cube
Generalizing Predecessors Given Find Ternary Simulation T − − − − − − … … … − − − − − −
To summarize… Fi is in CNF • 1-step reachability queries • Generalizing Predecessors • Local Interpolants • Forward Inductive Propagation • Reusing Counterexamples
To summarize… • Competitive with variants of McMillan’s Interpolation • 3rd place in HWMCC’10 – competing with well-established tools • Well received by hardware industry • Implemented in Berkeley’s ABC tool • Extensions to progress and CTL properties • Extensions to LRA – implemented in Z3
Efficient Implementation of IC3/PDR Fi is in CNF
Decide/Conflict Rules Assumptions A Y N Ternary Simulation
Conflict Rule ✗ MUS extraction to get If none, add to F∞ pushing the clause to higher levels Additionally, least j ≥ i such that
Induction Rule Similar to Conflict Rule, with repeated checks!
Extending to First-order Theories ∞ state Generalizing Predecessors can do some theory-generalization Local Interpolants ? LRA : Linear combination of literals (Hoder and Bjorner, 2012)
References SAT-Based Model Checking without Unrolling, Bradley, VMCAI 2011 Efficient Implementation of Property Directed Reachability, Een, Mishchenkoand Brayton, FMCAD 2011 An Incremental Approach to checking Progress Properties, Bradley et al., FMCAD 2011 Understanding IC3, Bradley, SAT 2012 Generalized Property Directed Reachability, Hoderand Bjorner, SAT 2012 Incremental, Inductive CTL Model Checking, Hassan et al., CAV 2012