1 Verification by Model Checking. 2 Part 1 : Motivation.

Slides:



Advertisements
Similar presentations
The Quest for Correctness Joseph Sifakis VERIMAG Laboratory 2nd Sogeti Testing Academy April 29th 2009.
Advertisements

Model Checking Lecture 2. Three important decisions when choosing system properties: 1automata vs. logic 2branching vs. linear time 3safety vs. liveness.
0 - 0.
Formal Methods and Testing Goal: software reliability Use software engineering methodologies to develop the code. Use formal methods during code development.
Modeling issues Book: chapters 4.12, 5.4, 8.4, 10.1.
© Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn 2.4 The Z Notation [Reference: M. Spivey: The Z Notation, Prentice Hall]
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.
Intervenant - date Requirement Refinement to Test Case Generation for Embedded Railway Control Systems by : Ying YANG 09/06/2011 Ph.D Student French institute.
Configuration management
1 October 16 th, 2009 Meaning to motion: Transforming specifications to provably-correct control Hadas Kress-Gazit Cornell University George Pappas University.
Tutorial I – An Introduction to Model Checking Peng WU INRIA Futurs LIX, École Polytechnique.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
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:
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
Temporal Logic and the NuSMV Model Checker CS 680 Formal Methods Jeremy Johnson.
Model Checking I What are LTL and CTL?. and or dreq q0 dack q0bar.
CS6133 Software Specification and Verification
LIFE CYCLE MODELS FORMAL TRANSFORMATION
Formal verification in SPIN Karthikeyan Bhargavan, Davor Obradovic CIS573, Fall 1999.
Model Checking I What are LTL and CTL?. and or dreq q0 dack q0bar D D.
Run Time Monitoring of Reactive System Models Mikhail Auguston Naval Postgraduate School Mark Trakhtenbrot Holon Academic Institute of.
Software Reliability CIS 640 Adapted from the lecture notes by Doron Pelel (
1 Formal Methods in SE Qaisar Javaid Assistant Professor Lecture 05.
1 Temporal Logic u Classical logic:  Good for describing static conditions u Temporal logic:  Adds temporal operators  Describe how static conditions.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 18 Program Correctness To treat programming.
Embedded Systems Laboratory Department of Computer and Information Science Linköping University Sweden Formal Verification and Model Checking Traian Pop.
Automata and Formal Lanugages Büchi Automata and Model Checking Ralf Möller based on slides by Chang-Beom Choi Provable Software Lab, KAIST.
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
Verification technique on SA applications using Incremental Model Checking 컴퓨터학과 신영주.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
Safety-Critical Systems 5 Testing and V&V T
- 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.
Verification & Validation By: Amir Masoud Gharehbaghi
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 9, 2003.
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.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
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.
IS 2620: Developing Secure Systems Formal Verification/Methods Lecture 9 March 15, 2012.
6/12/20161 a.a.2015/2016 Prof. Anna Labella Formal Methods in software development.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
Formal methods: Lecture
CIS 842: Specification and Verification of Reactive Systems
Formal verification in SPIN
Formal Methods in Software Engineering 1
IS 2935: Developing Secure Systems
Programming Languages 2nd edition Tucker and Noonan
Formal Methods in software development
Formal Methods in software development
Formal Methods in software development
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software Verification and Validation
Software Verification and Validation
Translating Linear Temporal Logic into Büchi Automata
Introduction to verification
Software Verification and Validation
Formal Methods in software development
Program correctness Linear Time Temporal Logic
Programming Languages 2nd edition Tucker and Noonan
Presentation transcript:

1 Verification by Model Checking

2 Part 1 : Motivation

3 Introduction Verification: verifying the correctness of computer systems hardware, software or combination It is most obvious in safety-critical systems commercially critical mission critical

4 Verification parts Formal Verification techniques consist of three parts: 1.A framework for modeling systems some kind of specification language 2.A specification language for describing the properties to be verified 3.A verification method for establishing if the description of the system satisfies the specification

5 Classification Approaches to verification can be classified in several ways: Proof-based vs. model-based Degree of automation Full- vs. property- verification Intended domain of application hardware-software, sequential-concurrent, reactive- terminating, … Pre- vs. post- development

6 Proof-based verification The system description is a set of formula Γ in a suitable logic The specification is another formula The verification method is finding a proof that Γ means deduction It typically needs the user guidance and expertise

7 Model-based verification The system is represented by a model M for an appropriate logic The specification is again represented by a formula The verification method consist of computing whether a model M satisfies M satisfies : M The computation is usually automatic for finite models

8 Degree of automation From fully automated to fully manual

9 Full- vs. property-verification The specification may describe a single property of the system, or it may describe its full behavior (expensive).

10 Intended domain of application Hardware, software Sequential, concurrent Reactive, terminating Reactive: reacts to its environment, and is not meant to terminate (e.g. operating systems, embedded systems, computer hardware)

11 Pre- vs. post-development Verification is of greater advantage if introduced early in system development

12 Model checking Model checking is an automatic, model-based, property-verification approach It is intended to be used for concurrent and reactive systems The purpose of a reactive system is not necessarily to obtain a final result, but to maintain some interaction with its environment Concurrency bugs non reproducible not covered by test cases

13 Temporal Logic The idea is that a formula is not statically true or false in a model The models of temporal logic contain several states a formula can be true in some and false in the others The static notion of truth is replaced by a dynamic one the formulas may change their truth values as the system evolves from state to state

14 Temporal Logic (cont.) In model checking: The models M are transition systems The properties φ are formulas in temporal logic Model checking steps: 1. Model the system using the description language of a model checker : M 2. Code the property using the specification language of the model checker : φ 3. Run the model checker with the inputs M and φ

15 Model checker M Model Checker p F q yes no φ Error Trace

16 Linear vs. Branching Linear-time logics think of time as a set of paths path is a sequence of time instances (Where time is linear, called Linear – Time Temporal Logic) Branching time logics represent time as a tree it is rooted at the present moment and branches out into the future (Where time is Branching, Called Computation Tree Logic). Many logics were suggested during last years that fit into one of above categories We study LTL in linear time logics and CTL in branching time logics

17 Linear vs. Branching (cont.) Linear Time Every moment has a unique successor Infinite sequences (words) Linear Time Temporal Logic (LTL) Branching Time Every moment has several successors Infinite tree Computation Tree Logic (CTL)