28/6/05 ICFI05 1 A generic approach for the automatic verification of featured, parameterised systems Alice Miller and Muffy Calder University of Glasgow.

Slides:



Advertisements
Similar presentations
Modeling issues Book: chapters 4.12, 5.4, 8.4, 10.1.
Advertisements

Tintu David Joy. Agenda Motivation Better Verification Through Symmetry-basic idea Structural Symmetry and Multiprocessor Systems Mur ϕ verification system.
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.
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
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:
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
UPPAAL Introduction Chien-Liang Chen.
Timed Automata.
/ PSWLAB P ROMELA Semantics from “THE SPIN MODEL CHECKER” by G. J. Holzmann Presented by Hong,Shin 5 th Oct :021PROMELA Semantics.
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.
Elementary Number Theory and Methods of Proof
1 Spin Model Checker Samaneh Navabpour Electrical and Computer Engineering Department University of Waterloo SE-464 Summer 2011.
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 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Basic abstract interpretation theory. 2 The general idea §a semantics l any definition style, from a denotational definition to a detailed interpreter.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Modeling Software Systems Lecture 2 Book: Chapter 4.
Temporal Logic and Model Checking. Reactive Systems We often classify systems into two types: Transformational: functions from inputs available at the.
Transaction Ordering Verification using Trace Inclusion Refinement Mike Jones 11 January 2000.
Witness and Counterexample Li Tan Oct. 15, 2002.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Specification Formalisms Book: Chapter 5. Properties of formalisms Formal. Unique interpretation. Intuitive. Simple to understand (visual). Succinct.
Transaction Ordering Verification using Trace Inclusion Refinement Mike Jones 11 January 2000.
More on RDT Robert John Walters. RDT – a reprise A Graphically based formal modelling language Models represented as diagrams (not text) Communications.
Automating Checking of Models Built Using a Graphically Based Formal Language Robert John Walters.
Witness and Counterexample Li Tan Oct. 15, 2002.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
Evaluating a Formal Methods Technique via Student Assessed Exercises Alastair Donaldson, Alice Miller University of Glasgow.
CS 267: Automated Verification Lecture 13: Bounded Model Checking Instructor: Tevfik Bultan.
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.
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 4: SMT-based Bounded Model Checking of Concurrent Software.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
Timed UML State Machines Ognyana Hristova Tutor: Priv.-Doz. Dr. Thomas Noll June, 2007.
Correctness requirements. Basic Types of Claims Basic assertions End-state labels Progress-state labels Accept-state labels Never claims Trace assertions.
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 3: Modular Verification with Magic, Predicate Abstraction.
Sept COMP60611 Fundamentals of Parallel and Distributed Systems Lecture 15 More Advanced Program Properties: Temporal logic and jSpin John Gurd,
School of Computer Science, The University of Adelaide© The University of Adelaide, Australian Computer Science Week 2005 Selected papers from: ACSC.
CS 395T Game-Based Verification of Contract Signing Protocols.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for August 6, 2003.
Mathematical Preliminaries
May University of Glasgow Generalising Feature Interactions in Muffy Calder, Alice Miller Dept. of Computing Science University of Glasgow.
DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2010 Most slides modified from Discrete Mathematical Structures: Theory and Applications by D.S. Malik.
Lecture # 12. Nondeterministic Finite Automaton (NFA) Definition: An NFA is a TG with a unique start state and a property of having single letter as label.
Modelling Reactive Systems 4 Professor Muffy Calder Dept. of Computing Science University of Glasgow
/ PSWLAB S PIN Search Optimization from “THE SPIN MODEL CHECKER” by G. Holzmann Presented by Hong,Shin 23 th Nov SPIN Search.
Theory-Aided Model Checking of Concurrent Transition Systems Guy Katz, Clark Barrett, David Harel New York University Weizmann Institute of Science.
Mathematical Induction Section 5.1. Climbing an Infinite Ladder Suppose we have an infinite ladder: 1.We can reach the first rung of the ladder. 2.If.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
Copyright © Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
/ PSWLAB Thread Modular Model Checking by Cormac Flanagan and Shaz Qadeer (published in Spin’03) Hong,Shin Thread Modular Model.
Superstabilizing Protocols for Dynamic Distributed Systems Authors: Shlomi Dolev, Ted Herman Presented by: Vikas Motwani CSE 291: Wireless Sensor Networks.
Today’s Agenda  Quiz 4  Temporal Logic Formal Methods in Software Engineering1.
Abstraction and Abstract Interpretation. Abstraction (a simplified view) Abstraction is an effective tool in verification Given a transition system, we.
Lecture 9: Query Complexity Tuesday, January 30, 2001.
The Relation Induced by a Partition
Symbolic model checking with SAT/SMT
Formal methods: Lecture
Formal verification in SPIN
PDAs Accept Context-Free Languages
Automatic Verification
Over-Approximating Boolean Programs with Unbounded Thread Creation
Deterministic PDAs - DPDAs
Abstraction, Verification & Refinement
Predicate Abstraction
CSE 503 – Software Engineering
Presentation transcript:

28/6/05 ICFI05 1 A generic approach for the automatic verification of featured, parameterised systems Alice Miller and Muffy Calder University of Glasgow

28/6/05ICFI052 Model checking for FI analysis model up to 6 telephone components. 2 features, model check for FI Abstract model = finite no concrete comps (+features), and any no of unfeatured abstract components. Specific applications: POTS, . What if abstract components have features? Can we make approach more generic (to extend to other applications?)

28/6/05ICFI053 Model checking system model (using Promela) Specify property (using LTL) Model check (using SPIN) Kripke structure (FSA) Buchi automaton (using SPIN) property holds Counterexample, modify system, model or property

28/6/05ICFI054 Model checking and FI Property based approach If M i is model representing n components where a component has feature f i, and M j model where a component has feature f j (sim M i,j ) if M i   1 but M ij   1 then we have a FI

28/6/05ICFI055 Induction/abstraction based approach used for systems with regular topology (star, complete graph, ring, tree...) Families of systems {S n } where S n is e.g. system of nodes in star network executing tree identification fully connected telephone network peer to peer system pass the parcel with n players Douglas Graham  n=0

28/6/05ICFI056 Families of systems We aim to reason about families of such systems Let M n = M(p 0 || p 1 || p 2 || … || p n-1 ) be a model of a system with n components – instances of a parameterised process Our goal  n. M(p 0 || p 1 || p 2 || … || p n-1 ) |=  Undecidable, in general!

28/6/05ICFI057 The general approach Collect all components not indexed by property to be checked (abstract components) into single component, Abs Modify remaining (concrete) components accordingly Model check new model M n = M(p 0 || p 1 || p 2 || … || p n-1 ) M abs m = M(p 1 ’ || p 2 ’ || …p m-1 ’ || Abs) suppose  =  (0,1,…,m-1) Theorem 1: If components satisfy certain restrictions, then if  holds for M abs m then it holds for M n for any n  m

28/6/05ICFI058 Need to extend to non-isomorphic components (i.e have features) Then …

28/6/05ICFI059 The general approach applied to FI.. If two features can be shown to not interact within finite (abstract) system of processes, then under certain restrictions they do not interact within a system of any size! Nb converse not true, but can usually find an interaction using the small finite model anyway.

28/6/05ICFI0510 Simulation Have to construct abstract model that simulates model of any size Then if  holds for any path in abstract model, does so in original model

28/6/05ICFI0511 Isomorphic abstract components Abstract components have no features Concrete Users Abstract Users (unbounded) Only concrete components may contain features Property indexed only by concrete component ids We have proved that Theorem 1 holds in this case e.g. Ryan et al LNCS 2975

28/6/05ICFI0512 Latest results: non-isomorphic abstract components Concrete Users Abstract Users (unbounded) Abstract components may contain features Property indexed only by concrete component ids Theorem 1 holds for some features but not all. Requires classification of features as safe or unsafe. For our suite of features only one unsafe: RWF

28/6/05ICFI0513 Classification of features Host owned, single index (HS) TCO, RBWF Host owned, double index (HD) OCS, ODS Partner owned, single index (PS) CFU, CFB, OCO Partner owned, double index (PD) TCS Third party owned, single index (TS) Third party owned, double index (TD) Multi-owned, single index (MS) RWF Theorem 1 holds provided abstract features are not multi-owned Our model has some of these

28/6/05ICFI0514 How did we prove this? GC form We assume that system specification can be expressed as infinite loop involving set of statements in guarded command form: do :: guard 1  command 1 :: guard 2  command 2 :: guard 3  command 3 :: etc. od Each guard contains a proposition regarding program counter (p_c), and each command includes a statement resetting p_c e.g. :: (p_c==2)  x++; p_c++

28/6/05ICFI0515 How did we prove this contd. Prescribe way to convert finite model in GC form to abstract model in GC form so that transitions in finite model of any size matched in abstract model Need to consider statements involving communication change of state of abstract components features This is a new bit!

28/6/05ICFI0516 Feature statements Guard that can trigger a feature has the form (feature_prop)&&(localprop)&&(varprop) Is the feature subscribed to? propositions re. local variables (e.g. p_c) propositions re. global variables (e.g. channel contents) (by self or partner) The classification of a feature determines nature of feature_prop and var_prop

28/6/05ICFI0517 How did we prove this? contd. If feature is host-owned we can simulate transitions from feature statements in abstract model as before. In fact, this is always true provided feature is not multiowned

28/6/05ICFI0518 A generic approach Provided system expressed in GC form where statements must be open symmetric ops on p-variables v restricted features can be classified in this way then approach applies to any featured system

28/6/05ICFI0519 Conclusions Have described generic approach to verify parameterised featured systems of any size Further work- Apply induction/abstraction technique to other domains