interpolant compaction in
play

Interpolant Compaction In Unbounded Model Checking Danilo - PowerPoint PPT Presentation

Alpine Verification Meeting 2013, FBK, Trento, Italy. Optimization Techniques For Craig Interpolant Compaction In Unbounded Model Checking Danilo Vendraminetto PhD student at Formal Methods Group, Politecnico di Torino, Torino, Italy. Before


  1. Alpine Verification Meeting 2013, FBK, Trento, Italy. Optimization Techniques For Craig Interpolant Compaction In Unbounded Model Checking Danilo Vendraminetto PhD student at Formal Methods Group, Politecnico di Torino, Torino, Italy.

  2. Before starting..  Talk in part based on a paper we presented at DATE 2013 Conference: Gianpiero Cabodi, C. Loiacono, D. Vendraminetto . Optimization techniques for craig interpolant compaction in unbounded model checking. DATE 2013: 1417-1422

  3. Outline  Motivations & background  Hardware designs verification  Craig Interpolants in MC  ITP size compaction & scalability  Contributions  Redundancy removal and reduction of  UNSAT proofs  Craig interpolants  Heuristic procedure for scalable ITP compaction  Experimental results & Conclusions 3

  4. Motivations  Can ITPs compete with IC3 ? IC3 ITP 2-level (AND-OR) Multiple level circuits characteristic functions Single instance of TR TR unrollings  Main limitations of ITP  BMC-based model (vs. cube/clause-based reachability)  ITPs are highly redundant 4

  5. Motivations  Can ITPs compete with IC3 ? IC3 ITP 2-level (AND-OR) Multiple level circuits characteristic functions Single instance of TR TR unrollings  Main limitations of ITP  BMC-based model (vs. cube/clause-based reachability)  ITPs are highly redundant 5

  6. Bounded Model Checking  Trading off completeness for productivity find BUGs !!! I F T T T SAT CNF clauses Initial states solver Buggy states Gianpiero Cabodi - IBM2011 6

  7. Interpolation [Craig’57]  Given A  B = 0  A’ = interpolant (A,B)  A  A’  A’  B = 0  A’ refers only to common variables of A,B  Interpolants from proofs  Given a resolution refutation of A  B  A' is derived in linear time and space [Pudlak,Krajicek’97] 7

  8. Interpolation [McMillan’03]  Interpolant as over-approx. image operator  Over-approximation  Variable quantification  Works whenever a representation of backward reachable space is given  A: From  T (FWD)  B: paths to failure states (BWD)  A’: over -approx image  Approx image is called adequate w.r.t. B 8

  9. ITP from refutation proof A B CNF clauses UNSAT problem (A  B = 0) 9

  10. ITP from refutation proof A B Resolution graph Null clause 10

  11. ITP from refutation proof A B Unsatisfiable core Resolution graph Resolution rule (A  p)  (  p  B) (A  B) Null clause pivot variable 11

  12. ITP from refutation proof A B Unsatisfiable core Resolution rule (A  p)  (  p  B) (A  B) Null clause 12

  13. Interpolant from refutation proof A B 1 Resolution AND-OR graph circuit A’ = Interpolant (A,B) Null clause 13

  14. Interpolant from refutation proof A B 1 Resolution AND-OR graph circuit A gate for each resolution node A’ = Interpolant (A,B) Null clause 14

  15. Interpolant rules  Interpolation is a circuit that follows the structure of the proof A = (p)(  p  q) B = (  q  r)(  r) ^ q (  p  q) (p) ^ (  q  r) (q) ^ (  r) (r) ^ 15 =q

  16. Image+ W V V’ T T From To+ To 16

  17. To+(V’) = IMG+(From,T) = Image+ Approx(  (V,W) From(v)  T(V,W,V’)) W V V’ T T From To+ To 17

  18. Adequate Image+ T T From B To+ To 18

  19. To+ adequate w.r.t. B Adequate Image+  if To outside B  then To+ outside B T T From B To+ To 19

  20. Adequate Image+ by Interpolant To+ = interpolant (From  T,B) T T From B To+ To 20

  21. ITP Standard ITP: to+ i computed from appr. From i F T T T T T From i To i R k,bwd To+ i B 21 A

  22. Why use adequate IMG+ ?  FWD approximate reachable states  computed by adequate IMG+  do not intersect BWD reachable states … I F IMG+ adequate R+ R bwd 22

  23. ITP compaction Proof reduction ITP circuit compaction 1 AND-OR Resolution circuit graph Alternative proofs BDD/SAT Const • different resolution schemes sweeping propagation Equivalent proofs Refactor ODC • redundancy removal rewrite 23

  24. ITP compaction Proof reduction ITP circuit compaction Problem #1: 1 • SCALABILITY AND-OR Resolution circuit graph Alternative proofs BDD/SAT Const • different resolution schemes sweeping propagation Equivalent proofs Refactor ODC • redundancy removal rewrite 24

  25. Proof reduction  Recycle-pivots [Bar-Inal & al. HVC08] C1 (1 2 3) C2 ( -2 4) C1 (1 2 3) C2 ( -2 4) C3 (1 3 4) C4 (-1 -2 5) C3 (1 3 4) C4 (-1 -2 5) C6 (2 6) C5 ( -2 3 4 5) C6 ( 2 6) C5 ( -2 3 4 5) C7 (3 4 5 6) C7 (3 4 5 6) 25

  26. Proof reduction  Recycle-pivots + restruct proof [Bar-Inal & al. HVC08] C2 (-2 4) C1 (1 2 3) C2 ( -2 4) C3 (-2 4) C3 (1 3 4) C4 (-1 -2 5) RL = {-2 1} C6 (2 6) C5 (-2 4) C6 ( 2 6) C5 ( -2 3 4 5) RL = {-2} C7 (4 6) C7 (3 4 5 6) R L denotes the Removable-Literals 26

  27. Our Contribution: exploit proof topology 27

  28. Our Contribution: exploit proof topology Proof node chain  Simpler data structure for proof reduction algorithms and further techniques 28

  29. ITP Circuit Compaction  Logic synthesis manipulations on the proof  Constant propagation  BDD-based sweeping (for equivalences)  Observability Don’t Care (lightweight)  Proof into AIG  ODC (lightweight)  Logic synthesis  rewrite / refactor, using ABC tool  AIG balance  ITE-based decomposition (iff necessary) 29

  30. Observability don’t care  If A == 0  out = 0 ; no matters f(.) or g(.)  don’t -care set A f(x, .. , A) out g(x, .. , A) 30

  31. Observability don’t care  If A == 1  f(.) and g(.) can be simplified  care set A f(x, .. , 1) out g(x, .. , 1) 31

  32. ITP ITE decomposition x 1 ITP x N 32

  33. ITP ITE decomposition x 1 1 ITP x N 33

  34. ITP ITE decomposition x 1 N i 1 ITP x N 34

  35. ITP ITE decomposition x 1 1 1 ITP 1 x N Ni ITP 1 1 X MUX ITP 0 ITP 0 x 1 1 0 ITP 0 x N 35

  36. Ad-Hoc ITP compaction AigIteDecomp (ITP) if (max recursions || |ITP| < th) standardLogicSynth (ITP) do search node N i with highest FO ITE(N i ,ITP 1 ,ITP 0 ) //compute cofactors; equals to ITP if ( accept ( ITE decomp)) //size-based heuristic AigIteDecomp (N i ) AigIteDecomp (ITP 1 ) AigIteDecomp (ITP 0 ) ITP = ITE(N i ,ITP 1 ,ITP 0 ) while max try reached 36

  37. Experimental results  Framework: PdTrav  State-of-the-art academic Model Checker  HWMCC ’07 to ‘12 Ranked 1 st at 2010 Model Checking Competition – UNSAT  category  ITP compaction => better MC runs  Experience on IBM & Intel benchmarks 37

  38. Experimental results 1200 1000 800 Time [s] 600 400 200 0 Best Opt Time Std Itp Time Circuit name

  39. Conclusions  ITP-based MC heavily relies on scalability, i.e. ability to compact ITPs  We developed effective techniques to compact ITPs.  Scalable techniques, applied incrementally  Best suited as a second engine  Hard-to-prove properties (hard for IC3)  Explosion of standard interpolation  Can afford extra time (for memory) 39

  40. Thank you! 40

Recommend


More recommend