Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Belinda Alsdorf Geändert vor über 11 Jahren
1
1 Computergestützte Verifikation 31.5.2002
2
2 4.2 SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem und löse dieses. Inhalt 4.2.1 Ein effizienter SAT-Solver 4.2.2 Noch ein effizienter SAT-Solver 4.2.3 LTL Model Checking als SAT-Problem
3
3 4.2.1 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 = (... 1...) K THEN RETURN DP(K \ { }) IF (0... 0 [¬]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<k
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 + 1992 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.
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.