Software Verification 2 Automated Verification

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
Model Checking Lecture 2. Three important decisions when choosing system properties: 1automata vs. logic 2branching vs. linear time 3safety vs. liveness.
CS 267: Automated Verification Lecture 2: Linear vs. Branching time. Temporal Logics: CTL, CTL*. CTL model checking algorithm. Counter-example generation.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
Algorithmic Software Verification VII. Computation tree logic and bisimulations.
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
Temporal Logic and the NuSMV Model Checker CS 680 Formal Methods Jeremy Johnson.
Game-theoretic approach to the simulation checking problem Peter Bulychev Vladimir Zakharov Lomonosov Moscow State University.
CS6133 Software Specification and Verification
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Discrete Abstractions of Hybrid Systems Rajeev Alur, Thomas A. Henzinger, Gerardo Lafferriere and George J. Pappas.
Witness and Counterexample Li Tan Oct. 15, 2002.
Review of the automata-theoretic approach to model-checking.
Embedded Systems Laboratory Department of Computer and Information Science Linköping University Sweden Formal Verification and Model Checking Traian Pop.
ESE601: Hybrid Systems Introduction to verification Spring 2006.
Witness and Counterexample Li Tan Oct. 15, 2002.
Automata and Formal Lanugages Büchi Automata and Model Checking Ralf Möller based on slides by Chang-Beom Choi Provable Software Lab, KAIST.
Model Checking LTL over (discrete time) Controllable Linear System is Decidable P. Tabuada and G. J. Pappas Michael, Roozbeh Ph.D. Course November 2005.
Flavio Lerda 1 LTL Model Checking Flavio Lerda. 2 LTL Model Checking LTL –Subset of CTL* of the form: A f where f is a path formula LTL model checking.
15-820A 1 LTL to Büchi Automata Flavio Lerda A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.
Institute for Applied Information Processing and Communications 1 Karin Greimel Semmering, Open Implication.
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
Model Checking Lecture 3 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
1 Bisimulations as a Technique for State Space Reductions.
Prof. Diletta Romana Cacciagrano. (red-cong) :
Recognizing safety and liveness Presented by Qian Huang.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
Verification & Validation By: Amir Masoud Gharehbaghi
1 Reasoning with Infinite stable models Piero A. Bonatti presented by Axel Polleres (IJCAI 2001,
Symbolic Algorithms for Infinite-state Systems Rupak Majumdar (UC Berkeley) Joint work with Luca de Alfaro (UC Santa Cruz) Thomas A. Henzinger (UC Berkeley)
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 9, 2003.
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Model Checking Lecture 2. Model-Checking Problem I |= S System modelSystem property.
29/06/2016Verification Synchronous Languages Verification.
Model Checking Lecture 2 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
CENG 424-Logic for CS Introduction Based on the Lecture Notes of Konstantin Korovin, Valentin Goranko, Russel and Norvig, and Michael Genesereth.
Logics for Data and Knowledge Representation
SS 2017 Software Verification Timed Automata
Formal methods: Lecture
SS 2017 Software Verification Bounded Model Checking, Outlook
SS 2017 Software Verification Probabilistic modelling – DTMC / MDP
Prof. Dr. Holger Schlingloff 1,2 Dr. Esteban Pavese 1
Prof. Dr. Holger Schlingloff 1,2 Dr. Esteban Pavese 1
Software Verification 2 Automated Verification
SS 2017 Software Verification LTL monitoring
The Propositional Calculus
SS 2017 Software Verification Software Model Checking 2 - Parallelism
Automatic Verification
SS 2018 Software Verification LTL Satisfiability applied
SS 2018 Software Verification ML, state machines
SS 2017 Software Verification CTL model checking, BDDs
SS 2017 Software Verification Tableaus, CTL model checking
Software Verification 2 Automated Verification
CSCI1600: Embedded and Real Time Software
SS 2018 Software Verification Strategic Reasoning
Alternating tree Automata and Parity games
SS 2017 Software Verification Modal Logics
Software Verification 2 Automated Verification
Formal Methods in software development
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
Translating Linear Temporal Logic into Büchi Automata
Introduction to verification
Formal Methods in software development
Presentation transcript:

Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für offene Kommunikationssysteme FOKUS

Plan for the Winter Introduction Modeling of systems Temporal logics (LTL, CTL, CTL*) Simulations and bisimulations Model checking Symbolic representations (BDDs) Abstraction and refinement (CEGAR) Real time (UPPAAL)

Language inclusion “Safety property” is a semantic notion The language of any (finitary) LTS is a safety property show that if any finite prefix of an infinite model can be extended to an accepted model, then the whole model is accepted If a safety property is given as an LTS, model checking can be done by “parallel execution” Example

Verification = language containment? An implementation I satisfies a specification S if L(I)  L(S) “the automata-theoretic approach to model-checking” But not always adequate:

Simulation relation Simulation relation between models

Preserving CTL properties Converse does not hold: image finiteness needed!

Simulation Checking If both models are deterministic, use automata inclusion Otherwise, define a sequence of relations the intersection is the largest possible simulation relation partition refinement algorithm (greatest fixed point)

Examples

Simulation relation Simulation relation between models

Simulation Checking If both models are deterministic, use automata inclusion Otherwise, define a sequence of relations the intersection is the largest possible simulation relation partition refinement algorithm (greatest fixed point)

Preserving CTL properties Converse does not hold: image finiteness needed!

Bisimulations “symmetric simulation”

Properties of Bisimulations finite models are CTL-equivalent iff they are bisimilar (in general this does not hold for infinite models) efficiency: constructing the smallest model which is bisimilar to a given model Paige-Tarjan algorithm for bisimulation minimization partition refinement, O(m log n), where m=|result|, n=|input|

Plan for the Winter Introduction Modeling of systems Temporal logics (LTL, CTL, CTL*) Simulations and bisimulations Model checking Symbolic representations (BDDs) Abstraction and refinement (CEGAR) Real time (UPPAAL)

Model checking Given a model M and a formula φ, model checking is answering the question whether M ⊨ φ somewhat easier than checking validity or satisfiability of φ usually easier than checking ⊨ φMφ sometimes easier than checking L(M)  L(φ) or ML(φ) Several variants, depending on the logic and the way the model is given e.g., consider PL and a lookup truth table for propositions  linear in |φ| e.g., consider FOL and a „computation engine“ for predicates in general model checking is an undecidable problem Here, LTL and CTL are of interest

Model Checking LTL We want to check whether M ⊨ φ φ is a LTL formula (for simplicity, excluding past) M is a natural model (sequence of proposition interpretations) if M is finite, then the problem is easy M ⊨ φ iff check(M,0,φ) = true check(M,i,p) = true iff pM(i) check(M,i, )=false check(M,i, φψ) = true iff check(M,i,φ) implies check(M,i, ψ) check(M,i, φU+ψ) = true iff for some j>i, check(M,j,ψ) = true and for all i<k<j, check(M,k,φ) = true better: check(M,i, φU+ψ) = i+1<|M| and check(M,i+1, (ψφφU+ψ))

Infinite sequences iterative version of this clause? M=w0w1w2 ... wn(wn+1 ... wn+m)ω check(M,i, φU+ψ) = for some i<j<=n+m, check(M,j,ψ) = true and for all i<k<j, check(M,k,φ) = true or i>n and for all i<k<=n+m, check(M,k,φ) = true and for some n<j<=i, check(M,j,ψ) = true and for all n<k<j, check(M,k,φ) = true iterative version of this clause? check(M,i, φU+ψ) = i<n+m and check(M,i+1, (ψφφU+ψ)) or i=n+m and check‘(M,n+1, (ψφφU+ψ))

Improvements bitstate hashing incomplete hashing partial order techniques

CTL model checking For each LTS/model there is exactly one computation tree CTL model checking works directly on the model (no need to extract computation sequences) For all subformulas of a formula and all states of a given model, mark whether the state satisfies the subformula iteration on formulas according to their inductive definition if p is an atomic proposition, then pM= I(p) M={} (φψ)M = (M-φM +ψ M) (EXφ)M = {w | w‘ (wRw‘ w‘φM )} E(φU+ψ)M = {w | there is a path α from w and a w‘ on α such that (w<w‘ w‘ ψM ) w‘‘ (w<w‘‘<w‘ w‘‘ φM )} A(φU+ψ)M = {w | for all paths α from w there is a w‘ on α such that (w<w‘ w‘ ψM ) w‘‘ (w<w‘‘<w‘ w‘‘ φM )}

Actual Calculation How to calculate (EX ψ)M from ψM? Inverse image construction How to calculate E(φU+ψ)M or A(φU+ψ)M from φM and ψM?

Reflection What has been achieved Where this is relevant Vorläufige Vorlesungsplanung Einführung Modellierung von Systemen Temporale Logik Modellprüfung Symbolische Repräsentation Abstraktion Realzeit Where this is relevant HW design (IEEE‐1850 PSL) Safety-critical SW design Embedded systems design