Lecture 4 Correctness and Fairness Verification and Assurance.

Slides:



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

The Quest for Correctness Joseph Sifakis VERIMAG Laboratory 2nd Sogeti Testing Academy April 29th 2009.
1 Reasoning with Promela Safety properties bad things do not happen can check by inspecting finite behaviours Liveness properties good things do eventually.
Partial Order Reduction: Main Idea
Part 3: Safety and liveness
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.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Program correctness The State-transition model A global state S  s 0 x s 1 x … x s m {s k = local state of process k} S0  S1  S2  … Each state transition.
Critical Section chapter3.
Sept COMP60611 Fundamentals of Parallel and Distributed Systems Lecture 12 The Critical Section problem John Gurd, Graham Riley Centre for Novel.
© Katz, 2007CS Formal SpecificationsLecture - Temporal logic 1 Temporal Logic Formal Specifications CS Shmuel Katz The Technion.
CSE 555 Protocol Engineering Dr. Mohammed H. Sqalli Computer Engineering Department King Fahd University of Petroleum & Minerals Credits: Dr. Abdul Waheed.
VIDE Integrated Environment for Development and Verification of Programs.
TR1413: Discrete Mathematics For Computer Science Lecture 3: Formal approach to propositional logic.
Bakery Algorithm - Proof
Modeling Software Systems Lecture 2 Book: Chapter 4.
Temporal Logic of Actions (TLA) Leslie Lamport
So far we have learned about:
ESE601: Hybrid Systems Introduction to verification Spring 2006.
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
Chapter 10 Sequences, Induction, and Probability Copyright © 2014, 2010, 2007 Pearson Education, Inc Mathematical Induction.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
1 Program Correctness CIS 375 Bruce R. Maxim UM-Dearborn.
Chapter 3 (Part 3): Mathematical Reasoning, Induction & Recursion  Recursive Algorithms (3.5)  Program Correctness (3.6)
© by Kenneth H. Rosen, Discrete Mathematics & its Applications, Sixth Edition, Mc Graw-Hill, 2007 Chapter 4 (Part 3): Mathematical Reasoning, Induction.
CSI 3125, Axiomatic Semantics, page 1 Axiomatic semantics The assignment statement Statement composition The "if-then-else" statement The "while" statement.
Introduction to Geometric Proof Logical Reasoning and Conditional Statements.
Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut.
10/19/2015COSC , Lecture 171 Real-Time Systems, COSC , Lecture 17 Stefan Andrei.
Sept COMP60611 Fundamentals of Parallel and Distributed Systems Lecture 15 More Advanced Program Properties: Temporal logic and jSpin John Gurd,
9.4 Mathematical Induction
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Honors Geometry Intro. to Deductive Reasoning. Reasoning based on observing patterns, as we did in the first section of Unit I, is called inductive reasoning.
Geometry Honors Section 2. 2
COP4020 Programming Languages Introduction to Axiomatic Semantics Prof. Robert van Engelen.
CS6133 Software Specification and Verification
Discrete Structures & Algorithms More on Methods of Proof / Mathematical Induction EECE 320 — UBC.
Defining Liveness by Bowen Alpern and Fred B. Schneider Presented by Joe Melnyk.
CIS 842: Specification and Verification of Reactive Systems Lecture INTRO-Examples: Simple BIR-Lite Examples Copyright 2004, Matt Dwyer, John Hatcliff,
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.
SAT-Based Model Checking Without Unrolling Aaron R. Bradley.
Properties as Processes : FORTE slide Properties as Processes: their Specification and Verification Joel Kelso and George Milne School of Computer.
This Week Lecture on relational semantics Exercises on logic and relations Labs on using Isabelle to do proofs.
CGS 3763 Operating Systems Concepts Spring 2013 Dan C. Marinescu Office: HEC 304 Office hours: M-Wd 11: :30 AM.
Program Correctness. The designer of a distributed system has the responsibility of certifying the correctness of the system before users start using.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
CS357 Lecture 13: Symbolic model checking without BDDs Alex Aiken David Dill 1.
1 2/21/2016 MATH 224 – Discrete Mathematics Sequences and Sums A sequence of the form ar 0, ar 1, ar 2, ar 3, ar 4, …, ar n, is called a geometric sequence.
Presented by: Belgi Amir Seminar in Distributed Algorithms Designing correct concurrent algorithms Spring 2013.
Today’s Agenda  Quiz 4  Temporal Logic Formal Methods in Software Engineering1.
Mathematical Induction Thinking Skill: Develop Confidence in Reason Warm Up: Find the k+1 term (P k+1 ) 1) 2)
(Proof By) Induction Recursion
MATH 224 – Discrete Mathematics
Reasoning and Proof Unit 2.
2.5 and 2.6 Properties of Equality and Congruence
Formal Methods in Software Engineering 1
Lecture 5 Floyd-Hoare Style Verification
Verification of mutual exclusion algorithms with EST
Logic & Reasoning.
ITEC452 Distributed Computing Lecture 7 Mutual Exclusion
Copyright © Cengage Learning. All rights reserved.
2-6 Algebraic Proof Use algebra to write two-column proofs.
2.5 Proving Statements about Segments
COMP60621 Designing for Parallelism
Chapter 2: Geometric Reasoning
COP4020 Programming Languages
Chapter 2 Reasoning and Proof.
Presentation transcript:

Lecture 4 Correctness and Fairness Verification and Assurance

Concurrent programs can have errors that cannot be discovered by testing. We review specification or correctness properties. We use inductive proofs of invariants to ensure correctness of concurrent programs. As we have seen construction of state diagrams can be impractical for real programs. We can use a computer program to construct and check a state diagram. Such a program is called a model checker. Introduction of Specification and Verification

Logical Specification of Correctness Properties The formula is called an invariant because it must always be true. Invariants are proved using induction, not over the natural numbers, but over all possible states of computation. (a)Prove A holds in the initial (base) case. (b)Assume that A is true is all states up the the current state (c) Prove that A is true in the next state (inductive step). If (a) and (c) can be proved we can conclude that A is true for all states of all computations.

Is Mutual Exclusion Enforced? By induction we can show that and By symmetric we can argue that what is true for p is true for q so Mutual Exclusion is enforced if is an invariant.

Basic Concepts of Temporal Logic The truth value of any logical statement about a computer program may change during its execution. First-order logic does not provide for this circumstance.

Always

Eventually

Duality

Sequences of Operators eventually will be always true

Order of Operators affects Meaning

Until and Weak-Until

K-Bounded Overtaking Lamport’s Bakery Algorithm is an example of k-bounded overtaking for what value of k?

Deductive Proof of Dekker's Algorithm

Reasoning about Progress