Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Computergestützte Verifikation 31.5.2002. 2 4.2 SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Computergestützte Verifikation 31.5.2002. 2 4.2 SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem."—  Präsentation transkript:

1 1 Computergestützte Verifikation

2 2 4.2 SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem und löse dieses. Inhalt Ein effizienter SAT-Solver Noch ein effizienter SAT-Solver LTL Model Checking als SAT-Problem

3 SAT-Solver für CNF (Suche nach erfüllender Belegung) Ausgangspunkt: Algorithmus von Davis-Putnam aus den 60ern (x y z) (¬x y) (¬y z) (¬x ¬y ¬z) (y) (¬y z) (¬y ¬z)(y z) (¬y z) x ¬x¬xdecide (z) (¬z) y unit propagation z leere Klauselmenge = SAT! pure literal propagation z () leere Klausel = Konflikt Backtracking zur letzten offenen Entscheidung

4 4 Davis-Putnam-Algorithmus DP(K) K – Klauselmenge IF K = ø THEN RETURN SAT IF () K THEN RETURN UNSAT IF = ( ) K THEN RETURN DP(K \ { }) IF ( [¬]x i ) K THEN RETURN DP(K/ x i 1[0]) IF K enthält Literal l, aber nicht seine Negation THEN RETURN DP(K \ { | l }) choose i IF DP(K/ x i 1) = SAT THEN RETURN SAT RETURN DP(K/ x i 0) Tautologie unit pure literal decide/ backtrack

5 5 Dilemma rule 1 2 (x/0) (x/1) 1 2 Ableitung 1 Ableitung 2 = Eine der Subst., falls andere zu Konflikt führt; = diejenigen Subst., die in beiden Zweigen gleich sind, sonst Zusammenführen der Zweige Vermeide redundante Arbeit in verschiedenen Zweigen

6 6 Ableitungsstufen Stufe 0 x y x Stufe 1 x Stufe 2 yz zy usw. Stålmarcks Algorithmus: for k = 0,..., #Var do ex.? Abl der Stufe k end

7 7 Symbolische Pfade Zustand mit Eigenschaft E ist von einem Zustand mit Eigenschaft I in genau k Schritten erreichbar: I(x (0) ) T(x (0),x (1) )... T(x (k-1),x (k) ) E(x (k) ) Suche bis zum kleinsten k, das erfüllt x (0)... x (k) y (0)... y (j-1) I(x (0) ) T(x (0),x (1) )... T(x (k-1),x (k) ) [ I(y (0) ) T(y (0),y (1) )... T(y (j-1),x (k) ) ] j

8 8 Beschränkte Semantik von LTL Idee: beschreiben Gegenbeispiel der Länge k 1 k 1 l k Ziel: Wenn beschränkter Pfad erfüllt, so auch jede unendliche Fortzsetzung Lassopfade: beschr. Semantik = originale Semantik kreisfrei: k F i k: (i) k-i k G false die anderen Operatoren so, wie man es sich denkt

9 9 Übersetzung der Semantik I(x (0) ) T(x (0),x (1) )... T(x (k-1),x (k) ) 0 k p i k := p(x (i) ) i k := i k i k ¬ i k := ¬ i k G i k := false F i k := j=i k j k X i k := falls i < k, dann i+1 k sonst false U i k := j=i k ( j k n=j k n k ) kreisfrei:

10 10 Übersetzung der Semantik I(x (0) ) T(x (0),x (1) )... T(x (k-1),x (k) ) T(x (k),x (l) ) l = 0 k l 0 k l p i k := p(x (i) ) l i k := l i k i k l ¬ i k := ¬ l i k l G i k := n=min(j,l) k l n k l F i k := j=min(i,l) k l j k l X i k := l k succ(i) succ(i) = i+1 falls i < k, sonst l l U i k := j=i k ( l j k n=j j-1 l n k ) j=l i-1 ( l j k n=j k l n k n=l j-1 l n k ) Lasso:

11 11 Zusammenfassung SAT Es gibt inzwischen auch zustandsbasierte SAT-Model Checker Man kann auf weitere Zuwächse im SAT-Solving vertrauen Formeln für Bestimmung des max. k gelten als schwer meist wird auf Bestimmung oberer Schranken für k verzichtet unvollständige Methode

12 12 Zusammenfassung symbolisches Model Checking Ideen für andere geeignete Datenstrukturen? Symbolische Model Checker arbeiten gelegentlich mit Überapproximationen, d.h. einer Obermenge der erreichbaren Zustände, die Datenstruktur verkleinert Industrielle Model Checker sind meist symbolisch BDD und SAT-basierte Methode mischen sich – Boolean Expression Diagrams

13 13 Tools SMV – Symbolic Model Verifier BDD-basierte Tool-Familie DAS Tool, das industrielle Aufmerksamkeit erregte Viele Varianten zur Fixpunktberechnung, Variablenordnung... Vor allem in der Hardwareverifikation verwendet www-2.cs.cmu.edu/~modelcheck www-cad.eecs.berkeley.edu/~kenmcmil/smv

14 14 Tools BMC – Bounded Model Checker übersetzt SMV-Input in SAT-Solver-lesbare Formeln www-2.cs.cmu.edu/~modelcheck

15 15 Tools NuSMV - bietet sowohl BDD- als auch SAT-basierte Methoden an reimplementiert SMV und BMC Eingabesprache weitgehend wie SMV //nusmv.irst.itc.it

16 16 Anwendungen- IEEE Futurebus Clarke + Studenten (CMU): Verifikation des IEEE Future+ cache coherence protocol mit SMV Es wurden mehrere vorher unerkannte Fehler entdeckt. Entwicklung des Protokolls begann 1988, ansonsten mit nur informalen Methoden

17 17 Anwendungen-ISDN/ISUP NewCoRe Project (89-92) Softwareprojekt bei AT&T. Spezieller Model Checker bei der Entwicklung des CCITT ISDN User Part Protocol. 5 verification engineers analysierten 145 Requirements. Insgesamt 7,500 Zeilen SDL SourceCode 112 Fehler; rund 55% der ursprünglichen Requirements waren logisch inkonsistent

18 18Anwendungen-Erdbebensicherheit 1995 (Concurrency Workbench) Analyse einer aktiven Strukturkomponente zur Erbebensicherung von Gebäuden. Messung von Kräften und hydrauliche Gegensteuerung, um Schwingungen abzufangen Ein Timing-Fehler wurde entdeckt, der die Schwingungen aufgeschaukelt hätte statt sie zu dämpfen.

19 19 Zusammenfassung Finite State Model Checking 2 Familien – explizit und symbolisch explizit: gut bei verteilten, asynchron kommunizierenden Systemen mit wenig Datenabhängigkeit symbolisch: gut, wenn wenig Nichtdeterminismus auftritt, (auch kein Nichtdeterminismus durch Verteiltheit) Systeme mit Struktur tendieren zu guten BDD, SAT-Formeln Experten nötig, um volle Power der Methoden auszuschöpfen

20 20 Kombination explizit-symbolisch Versuche, Symmetrien oder Partial Order Reduction in symbolische Model Checker einubauen, führten zu mäßigem Erfolg explizit = gut bei Explosion in den Steuerstrukturen symbolisch = gut bei Explosion in Daten vielleicht machbar: Steuervariablen explizit – Daten symbolisch?

21 21 Übung Beschreibe per aussagenlogischer Formel einen Pfad aus 4 Zuständen, deren letzte 2 einen unendlichen Zyklus bilden, und der die Formel G F für eine elementare Eigenschaft erfüllt.


Herunterladen ppt "1 Computergestützte Verifikation 31.5.2002. 2 4.2 SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem."

Ähnliche Präsentationen


Google-Anzeigen