SS 2018 Software Verification Model Checking

Slides:



Advertisements
Ähnliche Präsentationen
Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS : Modellprüfung.
Advertisements

Peter Marwedel TU Dortmund, Informatik 12
Qualitätssicherung von Software
Don`t make me think! A Common Sense Approach to Web Usability
Institut AIFB, Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Towards Automatic Composition of Processes based on Semantic.
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
Montag den 16.Dezember Lernziel: To begin stage 2 of preparation for speaking assessment.
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
CALPER Publications From Handouts to Pedagogical Materials.
Greetings and goodbyes Deutschland v. USA
DEUTSCHE VERBEN I. REGULAR VERBS.
Plusquamperfekt The past of the past.
Passiv What are these sentences expressing?
Universität StuttgartInstitut für Wasserbau, Lehrstuhl für Hydrologie und Geohydrologie Copulas (1) András Bárdossy IWS Universität Stuttgart.
How Does Fuzzy Arithmetic Work ? © Hartwig Jeschke Institut für Mikroelektronische Schaltungen und Systeme Universität Hannover
Technische Universität München 1 CADUI' June FUNDP Namur G B I The FUSE-System: an Integrated User Interface Design Environment Frank Lonczewski.
GERMAN 1013 Kapitel 2 2. Die Familie die Großeltern die Eltern die Kinder die Geschwister die Enkel der Großvater der Vater der Sohn der Bruder die Großmutter.
Coordinating Conjunctions Why we need them & how to use them deutschdrang.com.
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Institut für Angewandte Mikroelektronik und Datentechnik Course and contest Results of Phase Selected Topics in VLSI Design (Module 24513) ©
Institut für Angewandte Mikroelektronik und Datentechnik Phase 5 Architectural impact on ASIC and FPGA Nils Büscher Selected Topics in VLSI Design (Module.
Die Fragen Wörter Wer? Was? Wann?.
Synchronization: Multiversion Concurrency Control
Literary Machines, zusammengestellt für ::COLLABOR:: von H. Mittendorfer Literary MACHINES 1980 bis 1987, by Theodor Holm NELSON ISBN
Deutsch 3 Frau Snell.
deutsch German die Frau woman sein to be Grüß dich! Hi! Hello!
you (formal) Sie Good night! Gute Nacht! What is...‘s phone number? Wie ist die Telefonnummer von...?
Interrogative Words. Interrogative words, also called question words are used to ask for information.
Schreiben Sie fünf Sätze aus diesen Elementen. [Beispiel
COMMANDS imperative There are three command forms: formal familiar singular familiar plural.
COMMANDS imperative 1. you (formal): Sie 2. you (familiar plural): ihr
Common mistakes Morgen habe Ich das buch für dich. Nouns are capitalized + the formal form of address Morgen habe ich das Buch für dich. Jetzt, ich wohne.
Montag den 8. Juni Lernziel:- To launch a project and receive results.
Imperfekt (Simple Past) Irregular or strong verbs
Kapitel 2 Grammar INDEX 1.Subjects & Verbs 2.Conjugation of Verbs 3.Subject Verb Agreement 4.Person and Number 5.Present Tense 6.Word Order: Position of.
Memorisation techniques
WILLKOMMEN. By the end of today’s lesson You will know where to find some important information in the text book You will know what is expected of you.
Here‘s what we‘ll do... Talk to the person sitting in front of you. Introduce each other, and ask each other questions concerning the information on your.
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
Kapitel 9 Grammar INDEX 1.Formal Sie- Command 2.There Is/There Are 3.Negation: Nicht/Klein.
Modal Verbs WOLLEN. Modal Verbs Definition: A modal verb (also ' modal ',' modal auxiliary verb ', ' modal auxiliary') is a type of auxiliary verb that.
VERBEN KONJUGIEREN. What is a verb? An ________ _______, mental __________ or ________.  Examples of verbs:  __________________________ actionword state.
Word order: 1.In a main clause the VERB is the second idea: Helgakommteben aus der Bäckerei This may not be the second word Meiner Meinung nachsind Hobbys.
German “ da - compounds ” Provided by deutschdrang. com for individual and classroom use only. May not be reproduced for any other purposes.
PREFIXES INSEPARABLE PREFIXES forget = vergessen receive = bekommen understand = verstehen mißverstehen SEPARABLE PREFIXES abfahren = drive off mitbringen.
Essay structure Example: Die fetten Jahre sind vorbei: Was passiert auf der Almhütte? Welche Bedeutung hat sie für jede der vier Personen? Intro: One or.
SS 2017 Software Verification Automated Verification
Sentence Structure Questions
Freizeit Thema 5 Kapitel 1 (1)
you: ihr ( familiar plural ) you: du ( familiar singular)
Sentence Structure Connectives
The dynamic ultrasound
Jetzt machen Venues aufmachen!!! Geh zu
Aspect-Oriented Programming: Fad or the Future
Synonyms are two or more words belonging to the same part of speech and possessing one or more identical or nearly identical denotational meanings, interchangeable.
Cape Cod-Seminar Dr. Bernd Schmid July 2013
Die andere Vergangenheitsform
THE PERFECT TENSE IN GERMAN
Hallo! Wie geht’s? Hallo! Mir geht’s gut, danke! Guten Tag!
THE PAST TENSE (Part 3) VERBS WHICH TAKE SEIN
You need to use your mouse to see this presentation
THE PAST TENSE (Part 3) VERBS WHICH TAKE SEIN
The Conversational Past
Ich - Projekt Due Monday, September 19..
School supplies.
- moodle – a internet based learning platform
Zhunussova G., AA 81. Linguistic communication, i.e. the use of language, is characteristically vocal and verbal behaviour, involving the use of discrete.
 Präsentation transkript:

SS 2018 Software Verification Model Checking Prof. Dr. Holger Schlingloff 1,2 Dr. Esteban Pavese 1 (1) Institut für Informatik der Humboldt Universität (2) Fraunhofer Institut für offene Kommunikationssysteme FOKUS

Hallo! Mein Name ist Holger Schlingloff Ich bin Professor am Institut für Informatik Themen: Spezifikation, Verifikation & Testtheory Ich arbeite auch bei der Fraunhofer Gesellschaft Fraunhofer Institut für Offene Kommunikations- Systeme (FOKUS) Mehr finden Sie unter …

Worum geht‘s ... Software für sicherheitskritische Systeme Flugzeuge, Bahnsignalisierung, Airbags, … Methoden der Verifikation „automatisierte Korrektheitsbeweise“ Modellprüfung (Model Checking) Temporale Logik von Programmen

Organisatorisches Ziele: Kenntnisse über den praktischen Einsatz von Methoden und Werkzeugen zur Software-Verifikation Umfang: 4SWS VL, 2SWS Ü VL: Di und Do 9-11 in Rud26, 1307 Ü: Di 11-13, Beginn 24.4.2018 9 ECTS-Leistungspunkte = 270 Stunden = 20 Stunden pro Woche Hausaufgaben: Werkzeugeinsatz & praktische Beispiele eigene Präsentation von Lösungen erforderlich! Klausur oder mündliche Abschlussprüfung Materialien werden nach der VL verfügbar gemacht Moodle, Webseite, ... Sprache „teilweise Englisch“

Welcome to the class! Contents: Automated verification methods for (embedded) software (and hardware) for safety-critical applications temporal logic: expressivity, complexity model checking: theory and practice verification of real-time systems probabilistic verification multi-agent systems software model checking

A First Example (Hardware) gibts vielleicht noch besser (color)

Verification Model of Shift Register

Correctness Properties checked for n=32 in less than a second

Literature E.M. Clarke, H. Schlingloff: Model Checking. Chapter 21 in Alan Robinson and Andrei Voronkov (eds.), Handbook of Automated Reasoning; Elsevier Science Publishers B.V., pp. 1367 - 1522 (2000) E.M. Clarke,O. Grumberg, D. Peled: Model Checking. MIT Press (2000) C. Baier, J.-P. Katoen: Principles of Model Checking. MIT Press (2008) B. Bernard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, P. Schnoebelen: Systems and Software Verification: Model-Checking Techniques and Tools. Springer (2001, 2010)

Plan for the Summer Introduction Modeling of systems Temporal logics Model checking algorithms Symbolic representations Abstraction and refinement Real time model checking Probabilistic model checking Software model checking Parallel program checking Multi-agent systems

Propositional Logic A formal specification method consists of three parts syntax, i.e., what are well-formed specifications semantics, i.e., what is the meaning of a specification calculus, i.e., what are transformations or deductions of a specification Propositional logic: probably the first and most widely used specification method dates back to Aristotle, Chrysippus, Boole, Frege, … base of most modern logics fundamental for computer science

Syntax of Propositional Logic Let Ρ be a finite set {p1,…,pn} of propositions and assume that ,  and (, ) are not in Ρ Syntax PL ::= Ρ |  | (PL  PL) every p is a wff  is a wff („falsum“) if  and  are wffs, then () is a wff nothing else is a wff

Remarks Ρ may be empty Minimalistic approach still a meaningful logic! infix-operator  necessitates parentheses other connectives can be defined as usual ¬ ≙ (  ) (linear blowup!) Τ ≙ ¬ () ≙ (¬) () ≙ ¬(¬¬) ≙ ¬(¬) () ≙ (()()) (exponential blowup!) operator precedence as usual literal = a proposition or a negated proposition

Exercise Write ((pq)  ¬p) unabbreviated Abbreviations ¬ ≙ (  ) also ~ Τ ≙ ¬ () ≙ (¬) also (+), (|), (v) () ≙ ¬(¬¬) ≙ ¬(¬) also (*), (&), (^) () ≙ (()()) also ( <-> ), (<=>) Write ((pq)  ¬p) unabbreviated

Choice of the Signature Te set Ρ={p1,…,pn} of propositions is also called the signature of the logic The choice of Ρ often is the decisive abstraction step for modelling a system it determines which aspects are “accessible” to the specification Wittgenstein: “die Welt ist alles was der Fall ist”; the world consists of all true propositions e.g., sun-is-shining, pot-on-stove, line-busy, button_pressed, window5infocus, motor-on, … names should be chosen with consideration

Semantics of Propositional Logic Propositional Model Truth value universe U: {true, false} Interpretation I: assignment Ρ ↦ U Model M: (U,I) Validation relation ⊨ between model M and formula  M ⊨ p if I(p)=true M ⊭  M ⊨ () if M ⊨  implies M ⊨  M validates or satisfies  iff M ⊨   is valid (⊨) iff every model M validates   is satisfiable (SAT()) iff some model M satisfies 

Puzzle Example: Ivor Spence’s Sudoku SuDoku Puzzle as a Satisfiability Problem http://www.cs.qub.ac.uk/~i.spence/SuDoku/SuDoku.html

How Does He Do It? Propositional modelling (e.g., for the 9*9 grid) 9 propositions per cell: proposition “ijk” indicates that row i, column j contains value k individual cell clauses each cell contains exactly one value (ij1 v ij2 v … v ij9) ^ ~(ij1 ^ ij2) ^ … ^ ~(ij8 ^ ij9) row and column clauses each row i contains each number, exactly once (i11 v … v i91) ^ (i12 v … v i92) ^ … (i19 v … v i99) j1 j2, k=1..9: ~(ij1k ^ ij2k) same for columns block clauses – similar pre-filled cells – easy SAT solving 729 propositions, ca. 3200 clauses  few seconds