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.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen für das Erfüllbarkeitsproblem SAT
Advertisements

Algorithmentheorie 08 – Dynamische Programmierung (1)
Temporale Logiken: LTL und CTL
6. Regelbasierte Systeme
Komplexität und Phasenübergänge
Abschluss Gegeben Menge F von funktionalen Abhängigkeiten.
Constraint Satisfaction Problems
Spezialvorlesung Suchalgorithmen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Bounded Model Checking II
Suche in Texten (Stringsuche )
4. Logik – und ihre Bedeutung für WBS
Verifizieren versus Berechnen
Algorithmen und Komplexität
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX Christian Schindelhauer
Christian Schindelhauer
Computergestützte Verifikation
1 Computergestützte Verifikation Abstraktion.
Computergestützte Verifikation
1 Computergestützte Verifikation SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem.
1 Computergestützte Verifikation Symbolisches Model Checking 4.1 CTL Model Checking mit Binary Decision Diagrams (1. Systeme 2. Spezifikationen.
1 Computergestützte Verifikation Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:
Computergestützte Verifikation
Computergestützte Verifikation
1 Computergestützte Verifikation Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:
1 Übung 1 Adaptiere die Prozeduren CheckEU und/oder CheckAU zu Prozeduren CheckEF und CheckAF!
1 Computergestützte Verifikation Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:
Vollständige SAT-Solver
Algorithmentheorie 6 – Greedy-Verfahren
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (04 – Entwurfsverfahren) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Algorithmen und Datenstrukturen
Eduard Sauerbrei Formale Techniken Eduard Sauerbrei
Symbolisches Model Checking mit Binary Decision Diagrams
Fantasieregel Die Aussagenlogik
Algorithmen und Komplexität
Wegplanung mit Fast Forward Andreas Bauer2 Inhalt Klassisches Planen Verschiedene Planerstrategien Fast Forward –Allgemeines –Systemarchitektur.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Relationentheorie AIFB SS Algorithmen zur Bildung von 3NF-Relationsschemata Algorithmen zur Bildung von 3NF-Relationsschemata (2|8) (2)Synthese.
Algorithmus zur Zerlegung in 3NF (1)
Aussagenlogik -- Verfahren zum Finden von Modellen
Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr.
Beweiser für quantifizierte Boolesche Ausdrücke - QUAFFLE
SAT-Engines Seminar WS 2000/2001
SAT-Engines-Seminar WS 2000/01 Asmir Hadzidedic
Recursive Learning und GRASP SAT-Engines-Seminar WS 2000/01 Stefan Disch.
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
K-SAT: Ein heuristischer Algorithmen- Vergleich Kann man den Brute Force Search Algorithmus schlagen?
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Integritätserhaltung und -Überprüfung in deduktiven Datenbanken
Computergestützte Verifikation
Algorithmen für das Erfüllbarkeitsproblem SAT
1 Computergestützte Verifikation Binary Decision Diagrams (BDD) Inhalt: Die Datenstruktur BDD Operationen auf BDD CTL Model.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
Algorithmen und Datenstrukturen 1 SS 2002
Wozu Maple? Symbolische Algebra Manche Sachen soll man besser nicht von Hand machen –kleine Rechnungs Fehler können mehrere Millionen werden – am besten.
1 Computergestützte Verifikation Übung 1 Konstruiere den Regionengraph für folgendes System (Anfang: k = 0) ! Identifiziere in diesem Graph.
Dr. Wolfram Amme, Grundsätze der Logikprogrammierung, Informatik II, FSU Jena, SS Grundsätze der Logikprogrammierung.
Kniffelergebnisse.
4. Logik – und ihre Bedeutung für WBS
 Präsentation transkript:

1 Computergestützte Verifikation

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

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 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 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 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 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 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 Ü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 Ü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 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 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 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 Tools BMC – Bounded Model Checker übersetzt SMV-Input in SAT-Solver-lesbare Formeln www-2.cs.cmu.edu/~modelcheck

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 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 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

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 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 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 Ü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.