Automata and Formal Lanugages Büchi Automata and Model Checking Ralf Möller based on slides by Chang-Beom Choi Provable Software Lab, KAIST.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
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.
Model Checking Lecture 2. Three important decisions when choosing system properties: 1automata vs. logic 2branching vs. linear time 3safety vs. liveness.
Translating from logic to automata Book: Chapter 6.
Black Box Checking Book: Chapter 9 Model Checking Finite state description of a system B. LTL formula. Translate into an automaton P. Check whether L(B)
Automatic Verification Book: Chapter 6. How can we check the model? The model is a graph. The specification should refer the the graph representation.
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
A Survey of Runtime Verification Jonathan Amir 2004.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Partial Order Reduction: Main Idea
1 Model checking. 2 And now... the system How do we model a reactive system with an automaton ? It is convenient to model systems with Transition systems.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
LINEAR TEMPORAL LOGIC Fall 2013 Dr. Eric Rozier.
Software Engineering, COMP 201 Slide 1 Automata and Formal Languages Moore and Mealy Automata Ralf Möller Hamburg Univ. of Technology based on slides by.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
1 Temporal Logic u Classical logic:  Good for describing static conditions u Temporal logic:  Adds temporal operators  Describe how static conditions.
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.
1 Formal Methods in SE Qaisar Javaid Assistant Professor Lecture # 11.
Infinite Automata -automata is an automaton that accepts infinite strings A Buchi automaton is similar to a finite automaton: S is a finite set of states,
CSE 555 Protocol Engineering Dr. Mohammed H. Sqalli Computer Engineering Department King Fahd University of Petroleum & Minerals Credits: Dr. Abdul Waheed.
Specification Formalisms Book: Chapter 5. Properties of formalisms Formal. Unique interpretation. Intuitive. Simple to understand (visual). Succinct.
Component-Interaction Automata for Specification and Verification of Component Interactions P. Vařeková and B. Zimmerova Masaryk University in Brno Czech.
On-the-fly Model Checking from Interval Logic Specifications Manuel I. Capel & Miguel J. Hornos Dept. Lenguajes y Sistemas Informáticos Universidad de.
Witness and Counterexample Li Tan Oct. 15, 2002.
Specification Formalisms Book: Chapter 5. Properties of formalisms Formal. Unique interpretation. Intuitive. Simple to understand (visual). Succinct.
Review of the automata-theoretic approach to model-checking.
Witness and Counterexample Li Tan Oct. 15, 2002.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
1 Translating from LTL to automata. 2 Why translating? Want to write the specification in some logic. Want to check that an automaton (or a Kripke structure)
The Model Checker SPIN Written by Gerard J. Holzmann Presented by Chris Jensen.
Model Checking LTL over (discrete time) Controllable Linear System is Decidable P. Tabuada and G. J. Pappas Michael, Roozbeh Ph.D. Course November 2005.
LTL – model checking Jonas Kongslund Peter Mechlenborg Christian Plesner Kristian Støvring Sørensen.
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.
1 Carnegie Mellon UniversitySPINFlavio Lerda Bug Catching SPIN An explicit state model checker.
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.
Basics of automata theory
CIS 842: Specification and Verification of Reactive Systems Lecture Specifications: LTL Model Checking Copyright , Matt Dwyer, John Hatcliff,
Copyright , Doron Peled and Cesare Tinelli. These notes are based on a set of lecture notes originally developed by Doron Peled at the University.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for August 6, 2003.
Recognizing safety and liveness Presented by Qian Huang.
Constraints Assisted Modeling and Validation Presented in CS294-5 (Spring 2007) Thomas Huining Feng Based on: [1]Constraints Assisted Modeling and Validation.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Translating from logic to automata (Book: Chapter 6)
1 Temporal logic. 2 Prop. logic: model and reason about static situations. Example: Are there truth values that can be assigned to x,y simultaneously.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Variants of LTL Query Checking Hana ChocklerArie Gurfinkel Ofer Strichman IBM Research SEI Technion Technion - Israel Institute of Technology.
Bounded Model Checking A. Biere, A. Cimatti, E. Clarke, Y. Zhu, Symbolic Model Checking without BDDs, TACAS’99 Presented by Daniel Choi Provable Software.
From Natural Language to LTL: Difficulties Capturing Natural Language Specification in Formal Languages for Automatic Analysis Elsa L Gunter NJIT.
Presentation.  Julius Richard Büchi (1924–1984)  Swiss logician and mathematician.  He received his Dr. sc. nat. in 1950 at the ETH Zürich  Purdue.
About Alternating Automata Daniel Choi Provable Software Laboratory KAIST.
Today’s Agenda  Quiz 4  Temporal Logic Formal Methods in Software Engineering1.
6/12/20161 a.a.2015/2016 Prof. Anna Labella Formal Methods in software development.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
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.
15-820A 1 LTL Model Checking A Flavio Lerda.
SS 2017 Software Verification LTL monitoring
Automatic Verification
Program Synthesis is a Game
Formal Methods in software development
Generating Optimal Linear Temporal Logic Monitors by Coinduction
Recognizing Safety and Liveness
Formal Methods in software development
Translating Linear Temporal Logic into Büchi Automata
Formal Methods in software development
Program correctness Linear Time Temporal Logic
Formal Methods in software development
Presentation transcript:

Automata and Formal Lanugages Büchi Automata and Model Checking Ralf Möller based on slides by Chang-Beom Choi Provable Software Lab, KAIST

Transition System to Mealy-Style Automaton Translation Each state is labeled with the propositions that hold in that state Example transition systemCorresponding automaton {p,q} {p} {q} {p,q} {q} i 1 23 p,q qp But: No accept states

Overview B ü chi Automata Büchi Automata –Automata which accept infinite words –named after Julius Richard Büchi, Swiss Logician Usually used for modeling systems with infinite sequences of states, each of which satisfies certain atomic propositions Büchi Automaton M accepts sequences of labels for program states: L(M) describes all potential sequences of state labels of the system (and therefore describes system behavior)

Overview B ü chi Automaton (deterministic version) Definition –M = (Σ, S, s 0, , F) Σ : alphabet (set of “labels for program states”) S : set of automaton states s 0 : initial state  : a transition function (S x Σ x S) F : a set of accepting states

–M = (Σ, S, s 0, , F) –The input of M is infinite w : a 0, a 1, … ( ∈ Σ ω ) –A run is a sequence of states r: s 0,s 1, … ( ∈ S ω ) Initiation: s 0 ∈ S 0 Consecution : s i+1 ∈  (s i, a i ) –Accepting run (r = s 0,s 1, … ) There exists an infinite number of integers i ∈ N such that s i ∈ F Overview B ü chi Automaton

Overview B ü chi Automata P must eventually occur, and if it occurs P holds forever Σ = {P, true} S = {q 0, q 1 } s 0 = {q 0 }  = {(q 0,true, q 0 ), (q 0, P, q 1 ), (q 1,P, q 1 ) F = {q 1 } run : q 0, q 1, q 1, q 1, …

Overview B ü chi Automata P must eventually occur, and if it occurs P holds forever Σ = {P, true} S = {q 0, q 1 } s 0 = {q 0 }  = {(q 0,true, q 0 ), (q 0, P, q 1 ), (q 1,P, q 1 ) F = {q 1 } Relation to Linear Temporal Logic

LTL Properties  Büchi automata G p p pp true F p p pp true G (F p) p The size of the property automaton can be exponential in the size of the LTL formula pp pp p

Overview Model checking –Specify requirement properties and build system model –Generate possible states from the model and then check whether given requirement properties are satisfied within the state space OK Error Trace Found or Target Program Requirement Properties Model Check 

Overview A process of Model Checking –Modeling Build a model of program or system –Specification Describe requirement properties –Verification Checking that a model of the program or system satisfies a given specification

Overview How can we model check of a program or system? –Modeling Build a Büchi automaton for a given program or system –Specification Describe requirement properties using Temporal Logic –Verification Automatically (semi-automatic)

Model Checker Overview Process of Model Checking Target Program Requirement Properties 