Game-theoretic simulation checking tool Peter Bulychev, Vladimir Zakharov, Igor Konnov Moscow State University.

Slides:



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

Model Checking Lecture 4. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
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.
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Model Checking Lecture 2. Three important decisions when choosing system properties: 1automata vs. logic 2branching vs. linear time 3safety vs. liveness.
Tintu David Joy. Agenda Motivation Better Verification Through Symmetry-basic idea Structural Symmetry and Multiprocessor Systems Mur ϕ verification system.
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.
Process Algebra (2IF45) Abstraction in Process Algebra Suzana Andova.
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.
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.
François Fages MPRI Bio-info 2006 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraints Group, INRIA.
Game-theoretic approach to the simulation checking problem Peter Bulychev Vladimir Zakharov Lomonosov Moscow State University.
Timed Automata.
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.
An Algorithm for Probabilistic Alternating Simulation University of New South Wales University of Luxembourg Authors: Chenyi Zhang Jun Pang Presentation:
Simulation Games Michael Maurer. Overview Motivation 4 Different (Bi)simulation relations and their rules to determine the winner Problem with delayed.
Review of topics Final exam : -May 2nd to May 7 th - Projects due on May 7th.
Theoretical Program Checking Greg Bronevetsky. Background The field of Program Checking is about 13 years old. Pioneered by Manuel Blum, Hal Wasserman,
Department of mathematics and computer science 1 of 21 Rob van Glabbeek (Sydney) Marc Voorhoeve (TUE) Liveness, Fairness and Impossible Futures.
Discrete Abstractions of Hybrid Systems Rajeev Alur, Thomas A. Henzinger, Gerardo Lafferriere and George J. Pappas.
White Box Testing and Symbolic Execution Written by Michael Beder.
The Design Process Outline Goal Reading Design Domain Design Flow
1 Carnegie Mellon UniversitySPINFlavio Lerda SPIN An explicit state model checker.
White Box Testing and Symbolic Execution Written by Michael Beder.
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.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
Model Checking Lecture 4 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
Process Algebra (2IF45) Probabilistic Branching Bisimulation: Exercises Dr. Suzana Andova.
CSE 219 Computer Science III Program Design Principles.
Communication and Concurrency: CCS
Model Based Testing Group 7  Nishanth Chandradas ( )  George Stavrinides ( )  Jeyhan Hizli ( )  Talvinder Judge ( )  Saajan.
Reactive systems – general
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 -
Verification & Validation By: Amir Masoud Gharehbaghi
1 Symmetry Symmetry Chapter 14 from “Model Checking” by Edmund M. Clarke Jr., Orna Grumberg, and Doron A. Peled presented by Anastasia Braginsky March.
2G1516 Formal Methods2005 Mads Dam IMIT, KTH 1 CCS: Processes and Equivalences Mads Dam Reading: Peled 8.5.
Compositionality Entails Sequentializability Pranav Garg, P. Madhusudan University of Illinois at Urbana-Champaign.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 9, 2003.
Strategic Reasoning with Game Description Language Ji Ruan, Prof. W. van der Hoek, Prof. M. Wooldridge Department of Computer Science From Specific Game.
Today’s Agenda  Quiz 4  Temporal Logic Formal Methods in Software Engineering1.
Model Checking Lecture 2. Model-Checking Problem I |= S System modelSystem property.
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
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,
Basic concepts of Model Checking
Formal methods: Lecture
Prof. Dr. Holger Schlingloff 1,2 Dr. Esteban Pavese 1
Hardware Verification
Space-Reduction Strategies for Model Checking Dynamic Software
SS 2018 Software Verification ML, state machines
Alternating tree Automata and Parity games
Software Verification 2 Automated Verification
Binary Decision Diagrams
An explicit state model checker
Formal Methods in software development
Introduction to verification
Program correctness Model-checking CTL
Presentation transcript:

Game-theoretic simulation checking tool Peter Bulychev, Vladimir Zakharov, Igor Konnov Moscow State University

What is (bi)simulation? Simulation is a relation between models (labeled transition systems). Intuitively M_1 simulates M_2 iff M_1 can match the moves of M_2 Bisimulation is an equivalence relation There are different types of (bi)simulations

Where can (bi)simulations be applied? (Bi)simulations preserve branching-time and linear-time logics Invariant-based approach to the verification Abstraction method

What have we done? We designed the language for describing (bi)simulations in game- theoretic form We developed the tool for checking different (bi)simulation relations

Outline Different notions of (bi)simulations and checking Game-theoretic approach to (bi)simulation checking On the universal simulation-checking tool

Example of strong simulation

Different notions of simulation Tau-actions Different types of simulation Strong (preserves CTL*) Weak (preserves LTL_X) Quasi-block (is monotonic w.r.t. parallel composition) Stuttering (preserves CTL*_X) Simulation and bisimulation Models with fair constraints

Different approaches to computing relations Relational coarsest partition (bisimulations only) Fixed-point approach Game-theoretic Universal (fair/unfair, simulation/bisimulation) Efficient (strong simulation)

Game-theoretic approach There are two players in the game, Spoiler and Duplicator, Duplicator tries to show that chosen relation is fulfilled, Spoiler tries to stuck Duplicator If Duplicator player wins then one model simulates the other

Game for strong simulation

Game-theoretic approach

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

Stuttering simulation

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 notions of simulation have a common framework. Result: We designed the language for describing rules of simulation checking game.

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

Game-theoretic language : example {The game for computing usual similarity on LTS with labeled transitions} types S: (S1, S2); D: (S1, S2, A); initial (A s1(I1))(E s2(I2)) 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);

Tool for simulation checking We have developed the universal simulation-checking tool. This tool checks whether simulation given in theoretic-game form exists between two models.

BDD We have used BDD to store game graph and models When we tested our tool with models consisting of 10^5 states, we ran out of memory: BDD of the game was too large We decided to construct BDD of the game on-the-fly However BDD of the models should be given in explicit form

Models We debugged our tool on small models with 10^3 states such as an abstraction of dining philosophers system and Milner scheduler Then we used our tool to check stuttering and block simulation between RSVP models with different topology Universal simulation checker tool is less efficient than block simulation checker tool written by Igor Konnov, but it is universal

Results of tests ModelSizeSpaceTime RSVP (r3c4 vs r2c3) 25000x M1m24s Milner (M4 vs M3) 3000x50025M1s

Implemetation details Language: python BDD library: Cudd (Colorado University Decision Diagram) OS: Linux

Future work To apply our tool to checking whether one model is an abstraction of other Fair (bi)simulation To speed up our tool To compare with the similar tool developed in University of Freiburg, Germany

Thank you Your questions