Programm- und Systemverifikation 184.741 Vorlesung:H. VeithG. WeissenbacherI. Konnov.

Slides:



Advertisements
Similar presentations
Visualisierung der Funktionsweise des Programms auf S. 9 des Skripts
Advertisements

Fachbereich Elektrotechnik und Informationstechnik
Windows Workflow Foundation (WF).net UserGroup Karlsruhe Frank Pfattheicher.
(c)deutsch.digitale-schule-bayern.de Glücksrad Ratespiel für jedermann.
A question of German
Präpositionen!!!!. bis until durch through für for.
Wer ist schneller?. We open Wir machen auf. She listens. Sie hört zu.
RfE 2 Unit 15 Translate these 20 sentences and write them in your exercise book! Comparison of adjectives nsi 06.
There are a number of set phrases in both English and German that consist of a verb + a certain preposition but these phrases differ between the two languages.
Session Tracking Problem: Identifizierung und Speicherung persönlicher Daten Warenkorb Lösung: Session mit ID Anmeldung ID REQ + ID RES ID: JKLMGHNB45kdse43k.
1.1 Lektion 1 F ühlen und erleben STRUKTUREN © and ® 2012 Vista Higher Learning, Inc Word order: statements and questions Wir haben folgendes Angebot.
Eine schöne Reise mit Jesus Durch ihr sind wir satt und hungrig In ihr sind wir Fastende Von Woche zu Woche.
Vorbilder in der Bibel Johannes der Täufer. Die Geburt von Johannes Die Geburt von Johannes dem Täufer war ein Wunder. Obwohl seine Eltern sehr alt waren,
G ERMAN E XCHANGE Q UESTIONS Tom Sinclair. W AS F ÜR EINE S CHULE BESCHST DU ? W HAT KIND OF SCHOOL DO YOU GO TO ? Eine Realschule in Alfeld. A secondary.
WAS LERNEN WIR UND WARUM? What are we learning and why?
© NFA, Neuromuscular Functional Assessment: Funktionelle Neurologie und Rehabilitation, Hans Garten, 2011 No Go Smiley Dieses Programm kannst du benutzen,
Conjunctions ! Konjunctionen !
Von Spencer Petersen und Kellen Knight. Dative and accusative prepositions are so named because the prepositional phrase that the preposition makes is.
Jahraus, Jahrein Treffpunkt Deutsch Sixth Edition.
Grundsätze und Herausforderungen der -Archivierung | SER Forum | Dr. Ulrich Kampffmeyer | PROJECT CONSULT Unternehmensberatung | 2007
Deciphering Case. Nominative = Subject First, look for the subject of the sentence. The subject is usually the very first part of the sentence. The sentence.
Revision (hopefully) & some new stuff! Accusative & Dative Pronouns
Aufwärmen: Nehmt die Hausaufgaben heraus. Schreibt die folgenden (following) Sätze auf Deutsch im Heft (Need help? See pg. 192) 1.How are the jeans? 2.They.
Answers to your questions ● An issue was that of the conventionality of language.We can quote Wittgenstein: ● An unseren Notationen ist zwar etwas.
A* Pathfinding. Basis A* Algorithmus add the starting node to the open list while the open list is not empty { current node=node from open list with the.
Tastatur Esc F1F2F3F4F5F6F7F8F9 F10F11F12 DruckPause Rollen  Num  Rollen WRTZUIOPÜ °^°^ !1!1  „ 2 2 &6&6 $4$4 %5%5 / 7 { ( 8 [ ) 9 ] = 0 } ? ß \ `´`´
You need to use your mouse to see this presentation.
Spittelauer Lände Wien Einleitung Registrierung Daten Ausnahmen CSR Prüfvorschlag Probleme Dr. Helmut Witzani
WebGIS als Instrument für die WOZ-Aufnahmen? Jochen Häußler, European Media Lab.
OTTO VON GUERICKE UNIVERSITÄT MAGDEBURG Professorin: apl. Prof. Dr. rer. nat. habil. Heidemarie Bräsel Graphentheorie in der Schule Graphentheorie in der.
€1 Million €500,000 €250,000 €125,000 €64,000 €32,000 €16,000 €8,000 €4,000 €2,000 €1,000 €500 €300 €200 €100 Willkommen.
Präsentiert: Dialog am Telefon zwischen Mutter und Tochter Irgendeine Ähnlichkeit mit der Wirklichkeit..... ist kein ZUFALL.
Questions words Asking for persons: Sie sieht den Mann. Asking for the subject: Wer sieht den Mann? Asking for the direct object: Wen sieht sie?
© Crown copyright 2011, Department for Education These materials have been designed to be reproduced for internal circulation, research and teaching or.
© Crown copyright 2011, Department for Education These materials have been designed to be reproduced for internal circulation, research and teaching or.
Mein Hobby ist Sport! Lernziele. Lernziele. To be able to name 12 sports/hobbies activities using some cognates. (all) To be able to name 12 sports/hobbies.
Besonderheiten beim menschlichen Skelett
läuft automatisch Was gibt es Schöneres, als eine festlich geschmückte Wohnung!
Die Schule.
3.2 Lektion 3 Medieneinflüsse STRUKTUREN © and ® 2012 Vista Higher Learning, Inc Coordinating, adverbial, and subordinating conjunctions —Er wacht.
Problem
Das Internet und die Telefonverbindung in Deutschland.
Wie kann man Papier sparen??? Ich möchte euch erklären wie man Papier sparen oder Recyceln kann damit man die Umwelt schützen kann.
Urgeschichte des Faustball. Geschichte 1111555: Antonio Scanio schrieb die erste genaue Beschreibung des Faustballsportes 111 : Goethe.
Theologische Fakultät Titelseite ohne Bildleiste. Titel in Palatino Linotype Fett 24pt, max. 2-zeilig Titelbeschreibung / Unterüberschrift / Autoren Palatino.
ist ein Außerirdischer mit hellseherischen Fähigkeiten, der in riskanten Situationen mit seinem Raumschiff zur Stelle ist. Sicherheit macht mich richtig.
Wenn du denkst, dass du deine Zeit mit dem Lesen dieses Mail vergeudest, bist du im Irrtum. Es ist eine wahre und berührende Geschichte, die dich vielleicht.
Die rückgedeckte Unterstützungskasse Informationen für den Arbeitnehmer.
Ein Sportturnier Wer? Wann? Wo? Wie? Warum? Erster Zweiter Dritter.
Formate der betrieblicher Weiterbildung AußensteuerungSelbststeuerung Lernen in nicht- problematischen Berufs- und Lebenssituationen berufliches, privates,
Wenn Sie Kopfschmerzen haben, sollen Sie sich still ruhen, warmen Tee trinken. Wenn Kopfschmerzen weiter verlaufen, hoeren nicht auf, nehmen Sie Tabletten.
... und wieso wir uns nicht immer verstehen
Bundesministerium der Justiz - Berlin, Mai 2009 Projekt des BMJ: „Elektronische Arbeitshilfen und Verkündung“ im Rahmen der Einer-für-Alle-Dienstleistung.
 GZD Und Gott sprach zu Abram: Ganz gewiss sollst du wissen, dass deine Nachkom-menschaft Fremdling sein wird in einem Land, das ihnen nicht gehört;
Leitfaden zur Erstellung eines Förderungsantrags COIN – Programmlinie „Aufbau“
Hiroshima Joao Silva Hiroshima Joao Silva. Entwicklung der Atomebombe.
GND-Schulungsunterlagen Indexierung in der überregionalen GND Andrea Diedrich Verbundzentrale des GBV.
Fahrer Sebastian Schmitt Rothenbergerweg Wald-Michelbach Tel.:06207/83078 Tel.: 06207/ Sponsorenmappe Familie Mike, Stefanie und Michelle.
Presaentation der Schaltung von Herz Presaenter:Mohammad Zeinolabedini IUST-Universitaet
With Mr. Angry Potato Head and Mrs Mildly-Angry Carrot-Face
Dropbox Assignment 3 – Wer weiss wo?
APFEL. LEITER DER FIRMA Diese Firma wurde am 1 April 1976 gegrundet.Der Name der Firma ist Englisch. Apfel (Apfel) das Apfelbild wird im Logo.
Tobit-Model Einordnung:
ObenWebdesign Agentur Berlin Wenn es um Webdesign Agentur Berlin geht, sollten Sie nicht lange überlegen und direkt eine professionelle Online Marketing.
Wie beheben wir Probleme bei der Produktrückgabeschlüsseln bei der technischen Unterstützungsnummer von Microsoft ?
This presentation uses a free template provided by FPPT.com Container Transporte Hamburg By Robert Dittmers.
This presentation uses a free template provided by FPPT.com Container Transporte Hamburg By Robert Dittmers.
Kengo Okamoto (Tokyo Metropolitan University)
Click the placeholder text and type your own text.
Ppt宝藏_www.pptbz.com_提供下载 This text can be replaced with your own text.
Presentation transcript:

Programm- und Systemverifikation Vorlesung:H. VeithG. WeissenbacherI. Konnov

Der erste Bug Gefunden von einem Techniker im Harvard Mark II Rechner am 9. September, Heute ausgestellt im Smithsonian Museum, Washington

Software Verifikation: Wozu? Meine Fluginformation

F16 (Nördliche Hemisphäre)

F16 (Südliche Hemisphäre)

Software Verifikation: Wozu? Ariane 5 – flight 501“Northeastern Blackout” 2003 Therac-25 Vorfall Können wir solche Fehler verhindern?

Automatisierte Fehlersuche? A. Turing ( )

Universelle Turing Maschine Automatisierte Fehlersuche? Programm Eigenschaft Ja/Nein A. Turing 1936 Halting Problem “Programm hält?” Mission impossible…

Fehler automatisch finden? A. Turing 1936 Halting Problem Alonzo Church, 1936: An Unsolvable Problem of Elementary Number Theory Mission Impossible… Kurt Gödel, 1931: Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme 1931

“Software” im 2. Weltkrieg A. Turing 1936 Halting Problem 1931 Herman Goldstine J. Robert Oppenheimer John von Neumann

A. Turing 1936 Halting Problem

A. Turing 1936 Halting Problem assertion boxes An assertion box never requires that any specific calculations be made, it indicates only that certain relations are automatically fulfilled whenever C gets to the region which it occupies.

A. Turing 1936 Halting Problem Assertions

der Programmierer sollte eine Reihe eindeutiger Behauptungen („assertions“) machen, die unabhängig voneinander überprüft werden können A. Turing 1936 Halting Problem Assertions 2001 Assertions in Kurze Umfrage: Wer von Ihnen programmiert? Wer weiß, was „Assertions“ sind? Wer verwendet Assertions?

Automatisierte Fehlersuche? Eingabe Ausgabe A. Turing 1936 Halting Problem Assertions 2001 Assertions in

Automatisierte Fehlersuche? Eingabe Ausgabe A. Turing 1936 Halting Problem Assertions 2001 Assertions in Zeit ✔ ✔ ✔ ✔

Automatisierte Fehlersuche? A. Turing 1936 Halting Problem Assertions 2001 Assertions in Zeit ✔ ✔ ✔ ✔ Eingaben ✔ ✔

Automatisierte Fehlersuche? A. Turing 1936 Halting Problem Assertions 2001 Assertions in Zeit Eingaben COVERAGE METRICS Kurze Umfrage: Wer von Ihnen testet (systematisch)? Welche Coverage Metriken kennen Sie?

Automatisierte Testfallgenerierung A. Turing 1936 Halting Problem Assertions 2001 Assertions in Zeit Generierte Eingabe Ausgabe

Vorlesungsinhalte  Teil 1: Testen und Test-Tools  Assertions und Coding Styles  Coverage Kriterien und Metriken  Testfallgenerierung März

Spezifikationen/Assertion Languages Eingabe Ausgabe A. Turing 1936 Halting Problem Assertions 2001 Assertions in Zeit x ≥ y z ≠ 1 ∧ p ≠ NULL z ≠ 1 ∧ p ≠ NULL y = 15

Spezifikationen und Assertions A. Turing 1936 Halting Problem Assertions 2001 Assertions in x ≥ y z ≠ 1 ∧ p ≠ NULL z ≠ 1 ∧ p ≠ NULL y = 15 Kurze Umfrage: Wann müssen Assertions halten? Wenn alle Assertions halten, ist das Programm korrekt?

Spezifikationen und Assertions A. Turing 1936 Halting Problem Assertions 2001 Assertions in x ≥ y z ≠ 1 ∧ p ≠ NULL z ≠ 1 ∧ p ≠ NULL y = 15 Noch eine Umfrage: In welcher Sprache sind Assertions geschrieben? Was kann man mit Assertions nicht ausdrücken?

Spezifikationen/Assertion Languages Eingabe Ausgabe A. Turing 1936 Halting Problem Assertions 2001 Assertions in Zeit Wenn REQ=1 dann folgt irgendwann ACK=1 Wenn REQ=1 dann folgt irgendwann ACK=1

Spezifikationen/Assertion Languages A. Turing 1936 Halting Problem Assertions Wenn REQ=1 dann folgt irgendwann ACK=1 Wenn REQ=1 dann folgt irgendwann ACK= LTL Amir Pnueli, 1977: Linear Temporal Logic Umfrage: Wie kann diese Assertion verletzt werden? Können wir das durch Testen feststellen?

Spezifikationen/Assertion Languages A. Turing 1936 Halting Problem Assertions 1977 LTL Wenn REQ=1 dann folgt irgendwann ACK=1 Wenn REQ=1 dann folgt irgendwann ACK=1

Vorlesungsinhalte  Teil 1: Testen  Assertions und Coding Styles  Coverage Kriterien und Metriken  Testfallgenerierung  Teil 2: Tools aus der Logik  Aussagenlogik (und SAT Solver)  Prädikatenlogik (und SMT Solver)  Temporallogik März April

A. Turing 1936 Halting Problem Assertions Model Checking Edmund Clarke (Dr.hc. TU) Allen Emerson Joseph Sifakis 1981 Model Checking  Idee:  Assertions in Temporaler Logik für Programme mit endlichem Zustandsraum verifizierbar  Modelle statt Programme  Alle erreichbaren Zustände durchsuchen!  Funktioniert auch für nebenläufige Modelle 1977 LTL

A. Turing 1936 Halting Problem Assertions Symbolic Model Checking 1981 MCMC  Idee:  Zustände durch Formeln darstellen (eigentlich Binary Decision Diagrams)  Implementierung: SMV Model Checker 1977 LTL 1990 Symbolic Model Checking XY X ∨ Y Ken McMillan

A. Turing 1936 Halting Problem Assertions Partial Order Reduction 1981 MCMC  Idee:  Nicht alle Programmabfolgen relevant  Implementierung: SPIN Model Checker  Modellierungssprache: Promela 1977 LTL 1990 Peled G. Holzmann Godefroid Valmari Parial order reduction x:=1 y:=5 x:=1 y:=5

Vorlesungsinhalte  Teil 1: Testen  Assertions und Coding Styles  Coverage Kriterien und Metriken  Testfallgenerierung  Teil 2: Tools aus der Logik  Aussagenlogik (und SAT Solver)  Prädikatenlogik (und SMT Solver)  Temporallogik  Teil 3: Verifikation von Modellen  SMV (symbolisches Model Checking)  SPIN (Partial Order Reduction) März April Mai

A. Turing 1936 Halting Problem Assertions 1967 Assertions und Programmsemantik Robert W. Floyd “Then, by induction on the number of commands executed, one sees that if a program is entered by a connection whose associated proposition is then true, it will be left (if at all) by a connection whose associated proposition will be true at the time. By this means, we may prove certain properties of programs, […]

A. Turing 1936 Halting Problem Assertions 1967 Floyd-Hoare Logik: Axiome für Programme 1969 Hoare Logic Sir C.A.R. Hoare { P } S { Q }{ Q } T { R } { P } S ; T { R } { Q[x/e] } x := e { Q }{ x = 1 } y := 1 { x = y } { P } S { Q } Vorbedingung Nachbedingung Instruktion

A. Turing 1936 Halting Problem Assertions 1967 Dijkstra’s Prädikatenkalkül 1969 Hoare Logic 1975 Edsger W. Dijkstra Welchen Effekt hat eine Instruktion auf eine Assertion? { x < 10 } x := x + 1 { ? } sp(x := E, P) = x 0. x = E[x/x 0 ] ∧ P[x/x 0 ] E sp(x := x+1, x < 10) = x 0. (x = x 0 + 1) ∧ (x 0 < 10) E “vorheriger” Wert von x

A. Turing 1936 Halting Problem Assertions 1967 Bounded Model Checking (BMC) 1969 Hoare Logic  Automatisches Beweisen von Korrektheit lt. Turing nicht möglich!  Aber: Können mit Hoare Logik und symbolischer Simulation Programme bis zu beschränkter Anzahl von Schritten simulieren.  Tool: C Bounded Model Checker  Für Fehlersuche in ANSI-C Programmen Daniel Kröning (Oxford)

Vorlesungsinhalte  Teil 1: Testen  Assertions und Coding Styles  Coverage Kriterien und Metriken  Testfallgenerierung  Teil 2: Tools aus der Logik  Aussagenlogik (und SAT Solver)  Prädikatenlogik (und SMT Solver)  Temporallogik  Teil 3: Verifikation von Modellen  SMV (symbolisches Model Checking)  SPIN (Partial Order Reduction)  Teil 4: Verifikation von Programmen  Einführung Hoare Logik  Bounded model Checking von C Programmen März April Mai Ende Mai

Vorlesungsmodus  6 ECTS (4.5 Stunden)  Nächste Vorlesung: 5. März 2015 (siehe TISS)  VU: Vorlesung mit Übung Anwendung von Verifikations- und Testwerkzeugen, theoretische Aufgabenblätter Übungsabgaben werden bewertet, Teil der Note (50%) Voraussichtlich 5 bis 6 Übungsabgaben  Assertions: Ausgabe 18./19. März, Abgabe Anfang April  Coverage/Test Case Generation: Ausgabe 25./ 26. März, Abgabe nach Ostern  Logik/SAT/SMT: Ausgabe 15./16. April, Abgabe Anfang Mai  Temporal Logic & Model Checking  Hoare Logik/BMC: Ausgabe 20/21. Mai, Abgabe Anfang/Mitte Juni  Prüfung Voraussichtlich Mitte Juni 2015 (17. oder 18. Juni)