On-the-fly Model Checking from Interval Logic Specifications Manuel I. Capel & Miguel J. Hornos Dept. Lenguajes y Sistemas Informáticos Universidad de.

Slides:



Advertisements
Similar presentations
The Quest for Correctness Joseph Sifakis VERIMAG Laboratory 2nd Sogeti Testing Academy April 29th 2009.
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.
Model Checking and Testing combined
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.
An improved on-the-fly tableau construction for a real-time temporal logic Marc Geilen 12 July 2003 /e.
A Survey of Runtime Verification Jonathan Amir 2004.
CS 267: Automated Verification Lecture 2: Linear vs. Branching time. Temporal Logics: CTL, CTL*. CTL model checking algorithm. Counter-example generation.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Knowledge Based Synthesis of Control for Distributed Systems Doron Peled.
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:
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
UPPAAL Introduction Chien-Liang Chen.
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
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.
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.
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.
Discrete Abstractions of Hybrid Systems Rajeev Alur, Thomas A. Henzinger, Gerardo Lafferriere and George J. Pappas.
Specification Formalisms Book: Chapter 5. Properties of formalisms Formal. Unique interpretation. Intuitive. Simple to understand (visual). Succinct.
1 Carnegie Mellon UniversitySPINFlavio Lerda SPIN An explicit state model checker.
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.
ESE601: Hybrid Systems Introduction to verification Spring 2006.
Witness and Counterexample Li Tan Oct. 15, 2002.
Automata and Formal Lanugages Büchi Automata and Model Checking Ralf Möller based on slides by Chang-Beom Choi Provable Software Lab, KAIST.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
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.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
Linear and Branching Time Safety, Liveness, and Fairness
Institute for Applied Information Processing and Communications 1 Karin Greimel Semmering, Open Implication.
Model Checking Lecture 3 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
CIS 842: Specification and Verification of Reactive Systems Lecture Specifications: LTL Model Checking Copyright , Matt Dwyer, John Hatcliff,
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for August 6, 2003.
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.
Verification & Validation By: Amir Masoud Gharehbaghi
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.
1 Propositional Logic Limits The expressive power of propositional logic is limited. The assumption is that everything can be expressed by simple facts.
From Natural Language to LTL: Difficulties Capturing Natural Language Specification in Formal Languages for Automatic Analysis Elsa L Gunter NJIT.
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.
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
Automatic Verification
CSEP590 – Model Checking and Automated Verification
An explicit state model checker
Translating Linear Temporal Logic into Büchi Automata
Introduction to verification
Formal Methods in software development
Presentation transcript:

On-the-fly Model Checking from Interval Logic Specifications Manuel I. Capel & Miguel J. Hornos Dept. Lenguajes y Sistemas Informáticos Universidad de Granada (Spain) { mcapel,

Outline of the talk 1. Motivation 2. Context 3. Objectives 4. Specification formalism 5. Algorithm 6. Measurements & conclusions

Motivation + Specification and verification of concurrent systems is difficult + Infinite executions + Large number of different possible executions + Temporal Logics are appropiate formalisms to specify properties of linear behaviour + Difficult to use and understand + Textual representation  Interval logics overcome these difficulties + Intervals facilitate the definition of limited temporal contexts + Graphical representation + Specifications more understandable and intuitive 1. MOTIVATION

Problem context + Finite representation of system’s properties expressed as interval logic formulas + Tableau algorithm that automatically generates the equivalent automaton + No tableau algorithms for model checking on- the-fly (until now…) 2. CONTEXT + Automatic verification of reactive systems  Model checking 1. Build the property automaton A  2. Calculate the system automaton P =  P i 3. Find the product automaton P  A  4. Check non-emptiness of L ( P  A  )  L (A  ) L (P) Counterexamples L (A  )  L (A  ) L (P) L (A  )  Concurrent System P Specification 

Objectives + Classic approach to build a Model Checking tool + Leads to the state explosion problem + Approach to be followed: model checking on-the-fly + Nodes are generated only when are needed by the algorithm + State generation is combined with the search of a counterexample + In many cases, it is not necessary to construct the whole state space + Main objective: Integration of the tableau method with the on- the-fly approach for an interval logic 3. OBJECTIVES

Specification formalism + GIL ( Graphical Interval Logic ) is the specification formalism + Propositional Linear-time Temporal Logic + Interval as the key construct + Types of properties f + Initial property [ ) f + Invariant property [ ) f + Eventuality property [ ) 4. SPECIFICATION FORMALISM

. b1  b2 a1  a c1  c 2. d2 d1 d3 d4 Graphical syntax of GIL + Establishment of specific contexts: intervals + Use of standard operators and nested intervals . a bc d 4. SPECIFICATION FORMALISM

Comparison with LTL a b  c. a aa a d  + Example of a system specification in GIL + Specification of the same behaviour, but in LTL a   ( a U (  a U ((( b   c ) U a ) P a )  d U a )) U ( weak until ), U ( strong until ) and P ( precedes ) defined as f P g =  (  f U g ) + FIL ( Future Interval Logic ) is the formal basis of GIL a   [  a,  a |  a,  a,  a ) (   ( b   c )   d ) 4. SPECIFICATION FORMALISM

Syntax and Semantics of FIL + Restricted Syntax f  p |  f | f 1  f 2 | I f + Default-to-true Semantics + Non-negated interval formula + Either properly satisfied [a|b)c[a|b)c c ab + Negated interval formula + Only can be properly satisfied [a|b)c[a|b)c cc ab + or vacuously satisfied (the null context ocurrs)  The state located by  1 does not precede the state located by  2 + A search fails[a|)F = a[a|)F = a [b|)F =  b[b|)F =  b I  [  1 |  2 ) | [  |  2 ) | [  1 |  )  f |  f,  4. SPECIFICATION FORMALISM

Phase 1: Graph construction + Expansion order: Depth First Search + Analysis of each formula in the field New + The node is updated + The node is divided + The node is discarded + Creation of the transition system from the specification  Input: a FIL specification  + Output: the set Graph_Nodes  Rooted in Gerth et al. ’ s algorithm [8] 5. ALGORITHM

Tableau expansion rules + All the nodes are created from the initial node using expansion rules, such as the following ones: + Expansion rules derived from the reduction relation and the FIL semantics [14], so that:    i (  New  i )  (  New c (  )  X  Next c (  )) 5. ALGORITHM

T {b}{b} {b}{b} N3 N4 N2  M  Incoming ( N )  transition M  N  init  Incoming ( N )  N is an initial node + Label of node N: literals ( Old ( N )) + Output : Graph_Nodes An example of graph construction  Input :   {  [  b |  ) F }  {  b }  5. ALGORITHM

 The graph obtained allows some runs inducing sequences that are not models of the specification  Phase 2: Transforming the graph into the Büchi automaton 5. ALGORITHM + Solution: to impose generalized Büchi acceptance conditions  Acceptance condition (AC) is defined by each set of eventuality formulas that share their last search  AC i {  [  i,1,  i |  ) F,  [  i,2,  i |  ) F, …,  [  i,n,  i |  ) F } + A node satisfies the condition defined by an acceptance set if: + Either if does not promise any of the eventuality formulas in the acceptance set + or it immediately satisfies the eventualities from this set that it promises

Determining the accepting states + Accepting states determination procedure 1. Search all the eventuality formulas in the set Graph 2. Define acceptance conditions 3. A node will satisfy an acceptance condition if it does not contain any of its eventualities in the field Next T {b}{b} {b}{b} N4 N3 N2 AC 0 {  [  b|  ) F } ; N3, N4 sat AC 0  N2  sat AC 0 5. ALGORITHM

Obtaining a single set of accepting states Labelled Generalized Buchi Automaton (S, R, L, I, F), F = {F 1, F 2, …, F k }  S  is accepting iff  F i  F, inf (  )  F i   + Possible scenarios  k = 0, satisfied by formulas of type I F and purely propositional ones + k = 1, the LGBA coincides with an LBA  k > 1, we must obtain a single set of accepting states F  Determination of F  For Büchi automata representing FIL formulas, it always hold that F =  F i 5. ALGORITHM

Measurements of the automaton generation + Quite a bit smaller automata than with global construction ( local automaton + eventuality automaton). + For simple specifications, similar measurements than those obtained with Gerth et al.’s algorithm for LTL.  For complex specifications, FIL formulas are more concise and easier to interpret than LTL ones  less complex automata. 6. MEASUREMENTS & CONCLUSIONS

Conclusions + Algorithm for generating a semantically equivalent automaton from a FIL specification + Improvements on Gerth et al.’s algorithm [8] to obtain smaller automata + Our tableau rules succinctly codify the notion of limited temporal scope + Intended for on-the-fly model checking + Explore the state space in a demand-driven manner + Avoid the whole state space construction + First on-the-fly tableau algorithm for an interval logic 6. MEASUREMENTS & CONCLUSIONS

References + [3] C.Courcoubetis, O.Grumberg and D. Peled “Memory-efficient algorithms for the verification of temporal properties”, Formal Methods in System Design, 1, 1992, pp [8] R.Gerth, P.Peled, M.Y.Vardi, P.Wolper, “Simple On-the-Fly Automatic Verification of Linear Temporal Logic”, Proceedings of the 15 th International Symposium on Protocol Specification, Testing and Verification, Warsaw, Poland, June 1995, pp [9] M.Hornos, M.I. Capel, “Automata Generation for On-the-Fly Automatic Verification Using Formulas of an Interval Logic”, 2 nd International Conference on Application of Concurrency to System Design, Newcastle Upon Tyne, U.K., June 2001, pp [14] Y.S.Ramakrishna, P.M.Melliar-Smith, L.E.Moser and L.K.Dillon and G.Kutty, “Interval Logics and their Decision Procedures. Part I: An Interval Logic”, Theoretical Computer Science, 166, 1996, pp.1-47.

On-the-fly Model Checking from Interval Logic Specifications END OF PRESENTATION Manuel I. Capel & Miguel J. Hornos Dept. Lenguajes y Sistemas Informáticos Universidad de Granada (Spain) { mcapel,