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

Slides:



Advertisements
Similar presentations
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
Advertisements

Model Checking Lecture 3. Specification Automata Syntax, given a set A of atomic observations: Sfinite set of states S 0 Sset of initial states S S transition.
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut.
CS 267: Automated Verification Lecture 2: Linear vs. Branching time. Temporal Logics: CTL, CTL*. CTL model checking algorithm. Counter-example generation.
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:
Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS : Modellprüfung II - BDDs.
1 Temporal Claims A temporal claim is defined in Promela by the syntax: never { … body … } never is a keyword, like proctype. The body is the same as for.
 Dr. Vered Gafni 1 LTL Decidability Enables consistency check, but also base for verification.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
1 Formal Methods in SE Qaisar Javaid Assistant Professor Lecture # 11.
CSE 555 Protocol Engineering Dr. Mohammed H. Sqalli Computer Engineering Department King Fahd University of Petroleum & Minerals Credits: Dr. Abdul Waheed.
Temporal Logic and Model Checking. Reactive Systems We often classify systems into two types: Transformational: functions from inputs available at the.
Witness and Counterexample Li Tan Oct. 15, 2002.
Review of the automata-theoretic approach to model-checking.
ESE601: Hybrid Systems Introduction to verification Spring 2006.
Witness and Counterexample Li Tan Oct. 15, 2002.
Monadic Predicate Logic is Decidable Boolos et al, Computability and Logic (textbook, 4 th Ed.)
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
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.
Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut.
Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut.
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.
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 Institut.
Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut.
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 Institut.
Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Variants of LTL Query Checking Hana ChocklerArie Gurfinkel Ofer Strichman IBM Research SEI Technion Technion - Israel Institute of Technology.
Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut.
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 Institut.
Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut.
Model Checking Lecture 2. Model-Checking Problem I |= S System modelSystem property.
Model Checking Lecture 2 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
Four Lectures on Model Checking Tom Henzinger University of California, Berkeley.
CENG 424-Logic for CS Introduction Based on the Lecture Notes of Konstantin Korovin, Valentin Goranko, Russel and Norvig, and Michael Genesereth.
SS 2017 Software Verification SMT Solving, Partial Order Methods
Software Verification 2 Automated Verification
SS 2017 Software Verification LTL monitoring
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
SS 2018 Software Verification Strategic Reasoning
Software Verification 2 Automated Verification
Software Verification 2 Automated Verification
Formal Methods in software development
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 Rechnerarchitektur und Softwaretechnik

Slide 2 H. Schlingloff, SS2012: SWV 2 Lehrevaluation!!! bis online Das Passwort(Token) lautet: apple12ibm

Slide 3 H. Schlingloff, SS2012: SWV 2 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

Slide 4 H. Schlingloff, SS2012: SWV 2 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 + ψ))

Slide 5 H. Schlingloff, SS2012: SWV 2 Infinite sequences M=w 0 w 1 w 2... w n (w n+1... w n+m ) ω check(M,i, φU + ψ) = for some 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 + ψ) )

Slide 6 H. Schlingloff, SS2012: SWV 2 Kripke structures Usually, model M is an LTS, while-program, Kripke-structure, or such M ⊨ φ is read as „for all execution sequences σ of M it holds that σ ⊨ φ“ How to check all execution sequences?  depth-first search! given formula φ, define SF(φ) to be the set of all subformulas of φ (for reasons which will become clear later, we say that Xφ, Xψ and X(φU + ψ) are subformulae of φU + ψ) m  SF(φ) is propositionally consistent, if  not m ⊢  (propositionally), e.g., not (ψ  m and ¬ψ  m)  φU + ψ  m iff Xψ  m or Xφ  m and X(φU + ψ)  m atom α=(w,m), w  P interpretation, m  SF(φ) prop. cons., p  m iff p  w define an atom graph as „M  φ“

Slide 7 H. Schlingloff, SS2012: SWV 2 Atom Graph an initial atom is any α 0 =(w 0,m 0 ), where w 0 is any initial state of M and m 0 is any propositionally consistent set s.t. φ  m 0 (w,m)  (w‘,m‘) if  (w,w‘)  Δ  Xψ  m iff ψ  m‘ atom graph can be constructed depth-first Example φ = G + (p  q) = ¬(T U + ¬(p  q)) SF(φ)={ M=

Slide 8 H. Schlingloff, SS2012: SWV 2 Eventualities if m contains φU + ψ, some m‘ containing ψ must be reachable „reachable“ means „in the same strongly connected component“ (SCC) self-fulfilling SCC: for any α=(w,m) and φU + ψ  m there is reachable α‘=(w‘,m‘) and ψ  m‘  we have to decompose the atom graph into SCCs  Tarjan’s algorithm is a clever solution to this  linear complexity (enumerates SCCs as they are encountered)  overall complexity: |M|*2 |φ|

Slide 9 H. Schlingloff, SS2012: SWV 2 LTL Model Checking Algorithm

Slide 10 H. Schlingloff, SS2012: SWV

Slide 11 H. Schlingloff, SS2012: SWV 2 Improvements bitstate hashing incomplete hashing partial order techniques