SlideServe
Menu
Préférences
© SlideServe · v2026

SAT Based Abstraction/Refinement in Model-Checking

wauna avatar
36 diapositives · 554 Views · Aug 20, 2012

SAT Based Abstraction/Refinement in Model-Checking. Based on work by E. Clarke, A. Gupta , J. Kukula, O. Strichman (CAV’02). Model Checking. Given a: Finite transition system M ( S , I , R , L ) A temporal property p The model checking problem: Does M satisfy p ? .

SAT Based Abstraction/Refinement in Model-Checking - slide 1
01 / 36SAT Based Abstraction/Refinement in Model-Checking
1 / 17

Télécharger la présentation

SAT Based Abstraction/Refinement in Model-Checking
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. SAT Based Abstraction/Refinement in Model-Checking Based on work by E. Clarke, A. Gupta, J. Kukula, O. Strichman (CAV’02)

  2. Model Checking • Given a: • Finite transition system M(S, I, R, L) • A temporal property p • The model checking problem: • Does Msatisfy p?

  3. Model Checking • Temporal properties: • “Always x=y” (G(x=y)) • “Every Send is followed immediately by Ack” (G(Send  X Ack)) • “Reset can always be reached” (GF Reset) • “From some point on, always switch_on” (FG switch_on) “Safety” properties “Liveness” properties

  4. I Model Checking (safety) Add reachable states until reaching a fixed-point = bad state

  5. I Model Checking (safety) Too many states to handle ! = bad state

  6. h h h h h Abstraction S S’ Abstraction Function h : S ! S’

  7. Abstraction Function • Partition variables into visible(V) and invisible(I) variables. The abstract model consists of V variables. I variables are made inputs. The abstraction function maps each state to its projection over V.

  8. Abstraction Function x1 x2 x3 x4 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 x1 x2 h 0 0 Group concrete states with identical visible part to a single abstract state.

  9. Existential Abstraction I I

  10. Converse does not hold Model Checking Abstract Model • Preservation Theorem The counterexample may be spurious

  11. Checking the Counterexample • Counterexample : (c1, …,cm) • Each ci is an assignment to V. • Simulate the counterexample on the concrete model.

  12. Checking the Counterexample Concrete traces corresponding to the counterexample: (Initial State) (Unrolled Transition Relation) (Restriction of V to Counterexample)

  13. Abstraction-Refinement Loop Abstract Model Check M, p, h M’, p Pass No Bug Fail h’ Refine Check Counterexample Spurious Real Bug

  14. Frontier P Visible Invisible Inputs Refinement methods… Localization (R. Kurshan, 80’s)

  15. Refinement methods… Intel’s refinement heuristic (Glusman et al., 2002) • Generate all counterexamples. • Prioritize variables according to their consistency in the counterexamples. X1 x2 x3 x4

  16. Refinement methods… Abstraction/refinement with conflict analysis (Chauhan, Clarke, Kukula, Sapra, Veith, Wang, FMCAD 2002) • Simulate counterexample on concrete model with SAT • If the instance is unsatisfiable, analyze conflict • Make visible one of the variables in the clauses that lead to the conflict

  17. Deadend states I I f Bad States Failure State Why spurious counterexample?

  18. Refinement • Problem: Deadend and Bad States are in the same abstract state. • Solution: Refine abstraction function. • The sets of Deadend and Bad states should be separated into different abstract states.

  19. h’ Refinement h’ h’ h’ h’ h’ h’ Refinement : h’

  20. Deadend States Refinement

  21. Deadend States Bad States Refinement

  22. 1 0 0 1 0 0 1 0 0 1 0 0 1 1 1 0 1 0 1 1 Refinement as Separation Refinement : Find subset U of I that separates between all pairs of deadend and bad states. Make them visible. Keep U small ! d1 0 1 0 0 1 0 1 I b1 V b2

  23. 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 1 1 0 1 0 1 Refinement as Separation Refinement : Find subset U of I that separates between all pairs of deadend and bad states. Make them visible. Keep U small ! d1 I b1 V b2

  24. Refinement as Separation The state separation problem Input: Sets D, B Output: Minimal U  I s.t.:  d D,  b B, u U. d(u)  b(u) The refinement h’ is obtained by adding Uto V.

  25. Two separation methods • ILP-based separation • Minimal separating set. • Computationally expensive. • Decision Tree Learning based separation. • Not optimal. • Polynomial.

  26. DB v1 0 1 {d1,b2} {d2,b1} v2 v4 0 1 0 1 B D D B b2 d1 d2 b1 Separation with Decision Tree learning (Example) D B Classification: Separating Set : {v1,v2,v4}

  27. Separation with 0-1 ILP (Example)

  28. Separation with 0-1 ILP • One constraint per pair of states. • vi = 1 iff vi is in the separating set.

  29. Refinement as Learning • For systems of realistic size • Not possible to generate D and B. • Expensive to separate D and B. • Solution: • Sample D and B • Infer separating variables from the samples. • The method is still complete: • counterexample will eventually be eliminated.

  30. d b Efficient Sampling D B • Let (D,B) be the smallest separating set of D and B. • Q: Can we find it without deriving D and B ? • A: Search for smallest d,b such that (d,b) = (D,B)

  31. Efficient Sampling • Direct search towards samples that contain more information. • How? Find samples not separated by the current separating set (Sep).

  32. Rename all viBto vi’ Efficient Sampling • Recall: • D characterizes the deadend states • B characterizesthe bad states • D B is unsatisfiable • Samples that agree on the sep variables:

  33. Efficient Sampling Run SAT solver on W(Sep) Sep = {} d,b = {} STOP unsat sat Add samples to d and b Compute Sep:=(d,b) Sep is the minimal separating set of D and B

  34. The Tool Sep MC LpSolve NuSMV Cadence SMV Dec Tree SAT Chaff

  35. Results Property 1

  36. Results Property 2 Efficient Sampling together with Decision Tree Learning performs best. Machine Learning techniques are useful in computing good refinements.