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

Modeling issues Book: chapters 4.12, 5.4, 8.4, 10.1.
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 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.
Models of Concurrency Manna, Pnueli.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
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 Humboldt.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Spin Tutorial (some verification options). Assertion is always executable and has no other effect on the state of the system than to change the local.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
Modeling Software Systems Lecture 2 Book: Chapter 4.
Scheduling Using Timed Automata Borzoo Bonakdarpour Wednesday, April 13, 2005 Selected Topics in Algorithms and Complexity (CSE960)
Specification Formalisms Book: Chapter 5. Properties of formalisms Formal. Unique interpretation. Intuitive. Simple to understand (visual). Succinct.
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
Operational Semantics Semantics with Applications Chapter 2 H. Nielson and F. Nielson
Automata and Formal Lanugages Büchi Automata and Model Checking Ralf Möller based on slides by Chang-Beom Choi Provable Software Lab, KAIST.
CS 267: Automated Verification Lecture 13: Bounded Model Checking Instructor: Tevfik Bultan.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
Lecture 4 Finite State Machine CS6133 Software Specification and Verification.
Timed UML State Machines Ognyana Hristova Tutor: Priv.-Doz. Dr. Thomas Noll June, 2007.
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 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.
1 Levi Lúcio © A Test Selection Language for CO-OPN Specifications Levi Lúcio, Luis Pedro and Didier Buchs University of Geneva.
CS6133 Software Specification and Verification
Model Based Testing Group 7  Nishanth Chandradas ( )  George Stavrinides ( )  Jeyhan Hizli ( )  Talvinder Judge ( )  Saajan.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
CIS 842: Specification and Verification of Reactive Systems Lecture Specifications: LTL Model Checking Copyright , Matt Dwyer, John Hatcliff,
Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut.
Submodule construction in logics 1 Gregor v. Bochmann, University of Ottawa Using First-Order Logic to Reason about Submodule Construction Gregor v. Bochmann.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Recognizing safety and liveness Presented by Qian Huang.
Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
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.
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
Introduction to distributed systems description relation to practice variables and communication primitives instructions states, actions and programs synchrony.
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.
SS 2017 Software Verification Timed Automata
SS 2017 Software Verification Automated Verification
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
SS 2017 Software Verification Software Model Checking 2 - Parallelism
SS 2018 Software Verification LTL Satisfiability applied
SS 2018 Software Verification ML, state machines
Software Verification 2 Automated Verification
SS 2018 Software Verification Strategic Reasoning
Software Verification 2 Automated Verification
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 Recap: LTS LTS=( , S, , S 0 )   is a nonempty finite alphabet  S is a nonempty finite set of states    S    S is the transition relation  S 0  S is the set of initial states remark: sometimes a pseudo state s 0  S is used instead of S 0  S; sometimes there is only a single initial state s 0  S state = (program counter(s), variable valuation) transition = (state, instruction, state) S 0 can be written as a predicate on variables and pc’s  init: (pc==   x==0  y<=5 ...)  can be written as a predicate on current and next variables   : ((pc==   x‘==x+1)  (pc==   x‘==x+2) ...)

Slide 3 H. Schlingloff, SS2012: SWV 2 Boolean Equivalences next(state):= case inp=0: state; inp=50 & state=s0: s50; inp=50 & state=s50: s0; esac; ((inp==0  state‘==state)  (inp==50  state=s0  state‘== s50)  (inp==50  state=s50  state‘==s0) ) ((inp==0  state‘==state)  (inp==50  (state=s0  state‘== s50 )  (state=s50  state‘== s0 ) )

Slide 4 H. Schlingloff, SS2012: SWV 2 Parallel transition system / state machine  T=(T 1,...,T n )  all state sets must be pairwise disjoint Global TS associated with parallel TS: T=( , S, , S 0 ), where   =  i  S=S 1 ...  S n  S 0 =S 10 ...  S n0  ((s 1,...,s n ), a, (s 1 ’,...,s n ’))   iff for all T i, - if a   i, then (s i, a, s i ’)   i, and - if a   i, then s i ’= s i Complexity (size of this construction)? Correctness???

Slide 5 H. Schlingloff, SS2012: SWV 2 Correctness T=(T 1,...,T n ), T =T 1 ...  T n Intuitively: T accepts/generates exactly those sequences which are accepted/generated by all T i  projection of run onto the alphabet of a transition system:  =  1  2  3...  |T i =if (  1  i ) then  1 (  2  3...)|T i else (  2  3...)|T i  Show: T acc  iff  i (T i acc  | T i )  can also be used as a definition

Slide 6 H. Schlingloff, SS2012: SWV 2 Parallel State Machines Parallel state machine  T=(T 1,...,T n ),  i =2 E  C  2 A What is the global state machine associated with a parallel state machine? (“flattening”)  synchronization by common e[c]/a is not an option  possible choices: synchronize or compete on common input events (triggers)?  what if an effect contains sending of a trigger? (“run-to-completion-semantics”: tedious formalization)

Slide 7 H. Schlingloff, SS2012: SWV 2 Example

Slide 8 H. Schlingloff, SS2012: SWV 2 Introducing Data Simple state machines  E: set of events, C: set of conditions, A: set of actions  a simple state machine is an LTS where  =2 E  C  2 A Extended state machine: Assume a first-order signature ( D, F, R ) with finite domains D and a set V of program variables on these domains. An ESM is a simple state machine where  a guard is a quantifier-free first-order formula on ( D, F, R ) and V  an action is an assignment V=T - Attention: the effect of a transition is a set of actions! Parallel execution introduces nondeterminism

Slide 9 H. Schlingloff, SS2012: SWV 2 Example

Slide 10 H. Schlingloff, SS2012: SWV 2 Introducing Hierarchies In a UML state machine, a state may contain other states  powerful abstraction concept  semantics can be tedious

Slide 11 H. Schlingloff, SS2012: SWV 2 Introducing Visibility Scopes A state machine can be part of a class or module  all variables are visible within the module only  modules may be nested Classes or modules can be parameterized  instances of classes are objects

Slide 12 H. Schlingloff, SS2012: SWV 2 Introducing Fairness LTSs cannot specify that something will eventually happen  only maximal sequences are accepted (terminating or infinite) want to express that in infinite runs, certain states must occur infinitely often Just LTS=(LTS,J), where J=(J 1,...,J m ), J i  S (justice requirements)  for each J i  J each infinite run must contain infinitely many s  J i Fair LTS=(LTS,F), where F=(F 1,...,F m ), F i =(P i,Q i ), P i  S, Q i  S (compassion requirements)  for each F i  F and each infinite run it holds that if it contains infinitely many s  P i, then it also contains infinitely many s  Q i Cf. automata theory: Büchi- and Rabin-acceptance

Slide 13 H. Schlingloff, SS2012: SWV 2 Example: Peterson’s Mutual Exclusion {t=0; x=0; y=0; {  0: while(true){NC1: skip;  1: x=1;  2: t=1;  3: await(t==0  y==0); C1: skip;  4: x=0;} || {  0: while(true){NC2: skip;  1: y=1;  2: t=0;  3: await(t==1  x==0); C2: skip;  4: y=0;} }

Slide 14 H. Schlingloff, SS2012: SWV 2 Summary: Finite State Modeling Concepts We discussed  (parallel) while-Programs with finite domains  Labeled transition systems  Simple state machines  Parallel transition systems / state machines  UML state machines  Object-oriented concepts  Fairness Constraints (justice, compassion) Mutual simulation possible  but may be tedious; cross-compiler technology