Game-theoretic approach to the simulation checking problem Peter Bulychev Vladimir Zakharov Lomonosov Moscow State University.

Slides:



Advertisements
Similar presentations
Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
Advertisements

Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Conclusion Summary Research trends Resources.
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.
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
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.
1 Verification of Parameterized Systems Reducing Model Checking of the Few to the One. E. Allen Emerson, Richard J. Trefler and Thomas Wahl Junaid Surve.
Tutorial I – An Introduction to Model Checking Peng WU INRIA Futurs LIX, École Polytechnique.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Planning based on Model Checking Dept. of Information Systems and Applied CS Bamberg University Seminar Paper Svetlana Balinova.
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.
Game-theoretic simulation checking tool Peter Bulychev, Vladimir Zakharov, Igor Konnov Moscow State University.
Solving Timed Games with Variable Observations: Proof of Concept Peter Bulychev Franck Cassez Alexandre David Kim G. Larsen Jean-François Raskin Pierre-Alain.
UPPAAL Introduction Chien-Liang Chen.
Timed Automata.
ESE601: Hybrid Systems Some tools for verification Spring 2006.
SYMBOLIC MODEL CHECKING: STATES AND BEYOND J.R. Burch E.M. Clarke K.L. McMillan D. L. Dill L. J. Hwang Presented by Rehana Begam.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: Property checking Property checking.
Review of topics Final exam : -May 2nd to May 7 th - Projects due on May 7th.
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
Complexity 11-1 Complexity Andrei Bulatov Space Complexity.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
1 Model Checking, Abstraction- Refinement, and Their Implementation Based on slides by: Orna Grumberg Presented by: Yael Meller June 2008.
Discrete Abstractions of Hybrid Systems Rajeev Alur, Thomas A. Henzinger, Gerardo Lafferriere and George J. Pappas.
1 Carnegie Mellon UniversitySPINFlavio Lerda SPIN An explicit state model checker.
Bounded Model Checking EECS 290A Sequential Logic Synthesis and Verification.
Witness and Counterexample Li Tan Oct. 15, 2002.
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.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
CS 267: Automated Verification Lecture 13: Bounded Model Checking Instructor: Tevfik Bultan.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
Model Checking LTL over (discrete time) Controllable Linear System is Decidable P. Tabuada and G. J. Pappas Michael, Roozbeh Ph.D. Course November 2005.
Data Structures and Programming.  John Edgar2.
Model Checking and Related Techniques
Model Checking Lecture 4 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
Model-based Methods for Web Service Verification.
Model Checking Lecture 3 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
Reactive systems – general
On Reducing the Global State Graph for Verification of Distributed Computations Vijay K. Garg, Arindam Chakraborty Parallel and Distributed Systems Laboratory.
Lecture 81 Regional Automaton CS 5270 Lecture 8. Lecture 82 What We Need to Do Problem: –We need to analyze the timed behavior of a TTS. –The timed behavior.
Four Lectures on Model Checking Tom Henzinger University of California, Berkeley.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Predicate Abstraction. Abstract state space exploration Method: (1) start in the abstract initial state (2) use to compute reachable states (invariants)
Variants of LTL Query Checking Hana ChocklerArie Gurfinkel Ofer Strichman IBM Research SEI Technion Technion - Israel Institute of Technology.
From Natural Language to LTL: Difficulties Capturing Natural Language Specification in Formal Languages for Automatic Analysis Elsa L Gunter NJIT.
Today’s Agenda  Quiz 4  Temporal Logic Formal Methods in Software Engineering1.
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
Presentation Title 2/4/2018 Software Verification using Predicate Abstraction and Iterative Refinement: Part Bug Catching: Automated Program Verification.
Basic concepts of Model Checking
Formal methods: Lecture
SS 2017 Software Verification Bounded Model Checking, Outlook
Prof. Dr. Holger Schlingloff 1,2 Dr. Esteban Pavese 1
Hardware Verification
Automatic Verification
Alternating tree Automata and Parity games
Software Verification 2 Automated Verification
CSCI1600: Embedded and Real Time Software
An explicit state model checker
Introduction to verification
Dichotomies in CSP Karl Lieberherr inspired by the paper:
Program correctness Model-checking CTL
Presentation transcript:

Game-theoretic approach to the simulation checking problem Peter Bulychev Vladimir Zakharov Lomonosov Moscow State University

Model Checking The main goal of model checking is to verify whether a given model satisfies a required property (specification). Simulation relations preserve satisfiability of specifications given in the form of temporal logic formulas. Simulation is used to prove that one model is a refinement/abstraction of the other.

Varieties of simulation Various types of simulation Strong simulation (preserves CTL*) Weak simulation (preserves LTL -X ) Quasi-block simulation (is monotonic w.r.t. parallel composition) Stuttering simulation (preserves CTL* -X ) Equivalence relations and preorders (simulations and bisimulations) Models with fair constraints

(Bi)simulation checking approaches Relational coarsest partition (bisimulations only) Fixed-point approach Game-theoretic Universal (fair/unfair, simulation/bisimulation) Efficient (strong simulation)

Game-theoretic approach

Game for strong simulation

Reduction to game rules In some cases reduction can be obtained automatically, For more complex relations it is necessary to write game rules by hand. We have written game rules for stuttering (bi)simulation and proved their correctness.

Theoretical results Stuttering simulation Stuttering bisimulation Non fairO(m 2 ) time O(m 2 ) space O(mn) time O(m) space FairO(m 2 n 2 ) time O(m 2 ) space O(m 2 n 2 ) time O(m 2 ) space

Game-theoretic language Observation: Games for computing different kinds of simulation have much in common. Result: We designed the language for describing rules of simulation checking games.

Game-theoretic language : example {The game for checking strong simulation on LTS with labeled transitions} types S: (S1, S2); D: (S1, S2, A); rules (A s1)(E s2) S(s1, s2); steps S(s1, s2) -> D(s1', s2, a) : t(s1,a,s1'); D(s1, s2', a) -> S(s1, s2) : t(s2',a,s2);

Game-theoretic language We have described a number of (bi)simulations in our language: Strong Weak Block Stuttering

Simulation checking tool Our simulation checking tool checks whether there exists a simulation defined in game- theoretic terms between two models. Models Model’s BDDs Game rules Game’s BDD Game solver Answer (counterexample)

BDD We have used BDD to describe symbolically game graph and models to be checked. When we tested our tool with models that consist of 10 5 states, we ran out of memory: BDD of the game was too large Therefore, we decided to construct BDD of the game on-the-fly. However, BDD of the models must be in explicit form.

Where are we now? We are trying to answer the following questions: If there is a winning strategy, how can we find it as fast as possible? Otherwise, how can we maximally fast find a counterexample? What is the optimal order for BDD variables?

Timed automatons Timed automatons are used to model continuous and monotonous processes UPPAAL tool developed by K.G.Larsen group at Aaalborg University (Denmark) can be used to analyze timed automatons OffSoftBright press? X:=0 press? X<=3 press? X>3 Model of two-level light controller: user should press it twice quickly to turn on bright light or press once to turn on soft light.

Timed simulations We defined several timed simulations and proposed game-theoretic algorithms for solving them jointly with the K.G.Larsen group The sets of winning clock valuations are stored in the symbolic form in the game states These algorithms will be implemented in the UPPAAL tool

Questions?