COMP3151/9151 Foundations of Concurrency Lecture 4
|
|
- Shauna Stokes
- 5 years ago
- Views:
Transcription
1 1 COMP3151/9151 Foundations of Concurrency Lecture 4 and Kai Engelhardt CSE, UNSW (and data61) Revision: 1.5 of Date: 2017/08/14 00:35:24 UTC (Credits: parts may be borrowed from M. Ben-Ari, G Andrews, and others)
2 Why Prove? Model checking be it manually on the state diagram or mechanically with spin is restricted to systems with a fixed small number of processes. 1 To prove programs correct even if they are parametric in the number of processes (or buffer places etc), we can hardly use brute force model checking. 2 1 Technically we can deal with process creation, also in spin, but the restriction to relatively small systems remains.
3 3 Safety properties of a system S are often captured conveniently by invariants, i.e., formulae that are true for all reachable states of S. Example In any correct critical section algorithm implementation for spin, the formula (p@csp q@csq) is an invariant. of S are proved by induction over the length of computations of S.
4 4 Inductive proofs of invariants To prove that φ is an invariant of the system S the following must hold. Base cases: φ is true for every initial state of S. Inductive steps: If φ holds is all states of a computation up to the k th, then φ also holds for the k + 1 st. This precisely what we ended up doing for Dekker s algorithm in the Owicki/Gries method!
5 5 Limitations of are good for proving safety properties but insufficient for liveness, for instance eventual entry. Once we add past time temporal operators such as B for weak since and for weak previous every safety property can be expressed as 0φ for some LTL formula φ without future operators.
6 More LTL Sematics With past operators, we need to adapt the previous definition. Definition The satisfaction relation = between σ = (s i ) i N and k N, and LTL formulae is defined inductively by: σ, k = p p s k σ, k = ψ σ, k = ψ σ, k = ψ ψ σ, k = ψ or σ, k = ψ σ, k = 2ψ σ, k + 1 = ψ σ, k = ψ U ψ l k ( σ, l = ψ j (m j < l σ, j = ψ) ) σ, k = ψ k = 0 or σ, k 1 = ψ σ, k = ψ B ψ l k ( (σ, l = ψ) j ( l j k σ, j = ψ )) 6
7 7 More LTL Past Operators and B are a minimal set (just as 2 and U for the future) but for convenience we d add for previous ψ = ψ ` for till now `ψ = φ B false Q for once Qψ = ` ψ S for (strong) since ψ S ψ = ψ B ψ Qψ
8 8 LTL Examples No cause c without effect e: 0(c 1e) or, if the next cause has to wait for the effect to happen: 0(c 2( c) U e) No effect without cause: 0(e Qc)
9 9 To prove progress we use LTL and some of its proof rules. A rule Ben-Ari singles out as particularly helpful for proving simple progress properties is 0φ 1ψ, 1ψ 10φ What does it mean?
10 On Interpretations of LTL Observe that this particular progress rule is only useful when considered in the presence of a program P restricting the states and behaviours considered, and sound in the nowadays less fashionable floating interpretation of temporal logic that evaluates formulas not just over anchored sequences of states but also all of their suffixes. (See [MP92, p. 246, 266] and [Sch97, p. 82]. An early write-up of the various issues appeared as [MP88].) More precisely the rule should read P = 0φ 1ψ, P = 10φ P = 1ψ 10 where P = Φ iff, σ i = Φ for all executions σ of program P and all times i N.
11 11 Floating vs. Anchored In contrast to Ben-Ari, we re going to use an anchored interpretation of LTL where a corresponding sound proof rule would be P 0(0φ 1ψ), P 1ψ P 10φ But how can we refer to the program P in our proofs of the premises of such a rule?
12 12 Weak Fairness Assumptions To prove progress we tend to assume at least weak fairness to ensure processes are not prevented from participating in an execution. In general, we allow adding a set W of weak fairness assumptions to our parallel compositions of transition diagrams. The elements of W are sets of transitions drawn from the same process: W i 2T i. We say that an execution σ of P respects W if, for every w W σ = 0(0 π w enabled(π) 1 π w taken(π)) The assumption baked into our interleaving model is { T i 1 i n }, i.e., processes that aren t stuck must move eventually.
13 13 Classes of Properties The simplest progress properties are of the form 1φ (for some past formula φ). Example Termination The next level is 0(φ 1ψ) (for some past formulae φ and ψ) Example Eventual entry This type is so common and important that we introduce the leads-to notation φ ψ = 0(φ 1ψ).
14 14 Classes of Properties The final class is 01φ 01ψ. Example Whenever I ve watched these TAB ads often enough, I ll go and place a bet.
15 15 How does all that relate to our programs? In the context of our CS solutions and with weak fairness, assignment statements must progress eventually. Critical sections progress by assumption but non-critical sections need not. Control statements (if, while, await) can be trickier but can be handled. Next we ll see how.
16 16 Proof Rules for : LTL Part Let us focus on the leads-to properties. Before looking at program-dependent rules, we note some logical rules for. φ φ φ ψ, ψ ρ φ ρ φ ρ, ψ ρ (φ ψ) ρ rflx trns disj
17 17 Proof Rules for : Program Part For the following, suppose we ve found an assertion network Q that satisfies all the conditions of an Owicki/Gries-style proof of {pre} P {post}. Let us abuse that notation for a set T T of transitions: {p} T {q} = l c f l T (0(Q l c p q f )) even for past formulae p and q. The simplest rule lets us deduce progress when that s the only thing that can happen in a single step: 0(p (q φ)), {p} T {q}, 0(φ enabled(t )) p q 1-resp This doesn t even use weak fairness beyond someone has to move if that s possible.
18 Proof Rules for : Program Part Suppose we can identify a set H of helpful transitions that all establish the goal q and become enabled when p occurs, then the following rule can be used: H W, 0(p q φ), {φ} T \ H {φ q} {φ} H {q}, 0(φ enabled(h)) p q W-resp (There s a variant with strong fairness assumptions for H and a weakened last premiss of the form φ (q enabled(h)).) 18
19 19 After One Step 0(p q), q r, 0(r t) p t Let δ : Σ A where (A, ) is a well-founded relation RM 0(p q φ), 0(φ δ A), (φ (δ = α)) q (φ δ α) p q Well
20 20 Revisiting pre φ, {φ} T {φ} 0φ Inv
21 21 Example: Dekker s Algorithm p p: p 1 wp := F p 9 t := 2 p 2 wp := T wq p 3 p 8 t = 1 t = 1 wq p 6 wp := F p 5 t = 2 p 4
22 22 Example: Dekker s Algorithm q q: q 1 wq := F q 9 t := 1 q 2 wq := T wp q 3 q 8 t = 2 t = 2 wp q 6 wq := F q 5 t = 1 q 4
23 Example: Dekker s Algorithm Invariant The single difference compared to notes 3 is highlighted in red: t {1, 2} (1) wp, wq B (2) wp p 3..5,8,9 (3) wq q 3..5,8,9 (4) p 8,9 q 8,9 (5) q 8,9 p 8,9 (6) p 9 t = 2 (7) q 9 t = 1 (8) cp p, cp q {1, 2, 3, 4, 5, 6, 8, 9} (9) 23 With pre = (t {1, 2} p 1 q 1 ) and φ = 9 i=1 (i) we see that the rule Inv mimics Owicki/Gries in the presence of an invariant such as ours.
24 24 Example: Dekker s Algorithm Ev. Entry The desired property is expressed as p 2 p 8 (10) Let us first collect some 1-step progress properties for p that can all be shown P-valid with the rule 1-resp. p 3 t = 1 p 8 (p 4 t = 1) (11) p 3 t = 2 p 8 p 4 (12) p 4 t = 1 p 3 t = 1 (13) p 4 t = 2 p 5 (p 3 t = 1) (14) p 5 p 6 (15) p 6 t = 1 p 2 t = 1 (16) p 2 t = 1 p 3 t = 1 (17) p 8 p 9 (18) p 9 p 1 (19)
25 25 More of the same: p 6 q 4 t = 2 p 6 q 6 t = 2 (20) p 6 q 5 t = 2 p 6 q 6 t = 2 (21) p 6 q 6 t = 2 p 6 q 2 t = 2 (22) p 6 q 2 t = 2 p 6 q 3 t = 2 (23) p 6 q 3 t = 2 p 6 q 8 t = 1 (24) p 6 q 8 t = 2 p 6 q 9 t = 1 (25) We can summarise these to p 6 q 2..8 t = 2 p 6 q 9 t = 1 (26) We still need to argue why p 6 t = 2 q 1.
26 26 Last steps Another P-valid invariant is p 6 t = 2 (t = 2 S (p 3 wq)) (27) which allows us to deduce that q cannot be at q 1 (and not at q 9 either by φ).
27 27 Bibliography Zohar Manna and Amir Pnueli. The anchored version of the temporal framework. In J. W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors, Linear Time, Branching Time and Partial Order in Logics and Models of Concurrency, volume 354 of LNCS, pages , Zohar Manna and Amir Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, Fred B. Schneider. On Concurrent Programming. Springer-Verlag, 1997.
THEORY OF SYSTEMS MODELING AND ANALYSIS. Henny Sipma Stanford University. Master class Washington University at St Louis November 16, 2006
THEORY OF SYSTEMS MODELING AND ANALYSIS Henny Sipma Stanford University Master class Washington University at St Louis November 16, 2006 1 1 COURSE OUTLINE 8:37-10:00 Introduction -- Computational model
More informationCS256/Winter 2009 Lecture #1. Zohar Manna. Instructor: Zohar Manna Office hours: by appointment
CS256/Winter 2009 Lecture #1 Zohar Manna FORMAL METHODS FOR REACTIVE SYSTEMS Instructor: Zohar Manna Email: manna@cs.stanford.edu Office hours: by appointment TA: Boyu Wang Email: wangboyu@stanford.edu
More informationT Reactive Systems: Temporal Logic LTL
Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Temporal Logic LTL Spring 2005, Lecture 4 January 31, 2005 Tik-79.186 Reactive Systems 2 Temporal Logics Temporal logics are currently the most
More informationComputer-Aided Program Design
Computer-Aided Program Design Spring 2015, Rice University Unit 3 Swarat Chaudhuri February 5, 2015 Temporal logic Propositional logic is a good language for describing properties of program states. However,
More informationLinear Temporal Logic and Büchi Automata
Linear Temporal Logic and Büchi Automata Yih-Kuen Tsay Department of Information Management National Taiwan University FLOLAC 2009 Yih-Kuen Tsay (SVVRL @ IM.NTU) Linear Temporal Logic and Büchi Automata
More informationTimo Latvala. February 4, 2004
Reactive Systems: Temporal Logic LT L Timo Latvala February 4, 2004 Reactive Systems: Temporal Logic LT L 8-1 Temporal Logics Temporal logics are currently the most widely used specification formalism
More informationTemporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct.
EE 244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016 Temporal logic Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley) EE 244, Fall 2016
More informationCIS 842: Specification and Verification of Reactive Systems. Lecture Specifications: Specification Patterns
CIS 842: Specification and Verification of Reactive Systems Lecture Specifications: Specification Patterns Copyright 2001-2002, Matt Dwyer, John Hatcliff, Robby. The syllabus and all lectures for this
More informationAn Introduction to Temporal Logics
An Introduction to Temporal Logics c 2001,2004 M. Lawford Outline Motivation: Dining Philosophers Safety, Liveness, Fairness & Justice Kripke structures, LTS, SELTS, and Paths Linear Temporal Logic Branching
More informationVerifying Temporal Properties of Reactive Systems: A STeP Tutorial *
Formal Methods in System Design, 16, 1 45 (2000) c 2000 Kluwer Academic Publishers, Boston. Manufactured in The Netherlands. Verifying Temporal Properties of Reactive Systems: A STeP Tutorial * NIKOLAJ
More informationLecture 11 Safety, Liveness, and Regular Expression Logics
Lecture 11 Safety, Liveness, and Regular Expression Logics Safety and Liveness Regular Expressions w-regular Expressions Programs, Computations, and Properties Guarantee, Response, and Persistance Properties.
More informationLecture 16: Computation Tree Logic (CTL)
Lecture 16: Computation Tree Logic (CTL) 1 Programme for the upcoming lectures Introducing CTL Basic Algorithms for CTL CTL and Fairness; computing strongly connected components Basic Decision Diagrams
More informationComputation Tree Logic (CTL) & Basic Model Checking Algorithms
Computation Tree Logic (CTL) & Basic Model Checking Algorithms Martin Fränzle Carl von Ossietzky Universität Dpt. of Computing Science Res. Grp. Hybride Systeme Oldenburg, Germany 02917: CTL & Model Checking
More informationFormal Verification of the Ricart-Agrawala Algorithm
Formal Verification of the Ricart-Agrawala Algorithm Ekaterina Sedletsky 1,AmirPnueli 1, and Mordechai Ben-Ari 2 1 Department of Computer Science and Applied Mathematics, The Weizmann Institute of Science,
More informationHoare Logic I. Introduction to Deductive Program Verification. Simple Imperative Programming Language. Hoare Logic. Meaning of Hoare Triples
Hoare Logic I Introduction to Deductive Program Verification Işıl Dillig Program Spec Deductive verifier FOL formula Theorem prover valid contingent Example specs: safety (no crashes), absence of arithmetic
More informationCS 267: Automated Verification. Lecture 1: Brief Introduction. Transition Systems. Temporal Logic LTL. Instructor: Tevfik Bultan
CS 267: Automated Verification Lecture 1: Brief Introduction. Transition Systems. Temporal Logic LTL. Instructor: Tevfik Bultan What do these people have in common? 2013 Leslie Lamport 2007 Clarke, Edmund
More informationLecture 9: Cri,cal Sec,ons revisited, and Reasoning about Programs. K. V. S. Prasad Dept of Computer Science Chalmers University Monday 23 Feb 2015
Lecture 9: Cri,cal Sec,ons revisited, and Reasoning about Programs K. V. S. Prasad Dept of Computer Science Chalmers University Monday 23 Feb 2015 Plan for today Chap 2, 3 recap and complete Chap 4 intro
More informationHoare Logic: Part II
Hoare Logic: Part II COMP2600 Formal Methods for Software Engineering Jinbo Huang Australian National University COMP 2600 Hoare Logic II 1 Factorial {n 0} fact := 1; i := n; while (i >0) do fact := fact
More informationAutomata-Theoretic Model Checking of Reactive Systems
Automata-Theoretic Model Checking of Reactive Systems Radu Iosif Verimag/CNRS (Grenoble, France) Thanks to Tom Henzinger (IST, Austria), Barbara Jobstmann (CNRS, Grenoble) and Doron Peled (Bar-Ilan University,
More informationDecomposing Specifications of Concurrent Systems
327 Decomposing Specifications of Concurrent Systems Martín Abadi and Leslie Lamport Systems Research Center, Digital Equipment Corporation 130 Lytton Avenue, Palo Alto, CA 94301, U.S.A. We introduce a
More informationCS558 Programming Languages
CS558 Programming Languages Winter 2017 Lecture 2b Andrew Tolmach Portland State University 1994-2017 Semantics Informal vs. Formal Informal semantics Descriptions in English (or other natural language)
More informationVerifying Randomized Distributed Algorithms with PRISM
Verifying Randomized Distributed Algorithms with PRISM Marta Kwiatkowska, Gethin Norman, and David Parker University of Birmingham, Birmingham B15 2TT, United Kingdom {M.Z.Kwiatkowska,G.Norman,D.A.Parker}@cs.bham.ac.uk
More informationThe State Explosion Problem
The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis
More informationDRAFT - do not circulate
An Introduction to Proofs about Concurrent Programs K. V. S. Prasad (for the course TDA383/DIT390) Deartment of Comuter Science Chalmers University Setember 26, 2016 Rough sketch of notes released since
More informationIntroduction to Model Checking. Debdeep Mukhopadhyay IIT Madras
Introduction to Model Checking Debdeep Mukhopadhyay IIT Madras How good can you fight bugs? Comprising of three parts Formal Verification techniques consist of three parts: 1. A framework for modeling
More informationDesign of Distributed Systems Melinda Tóth, Zoltán Horváth
Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Publication date 2014 Copyright 2014 Melinda Tóth, Zoltán Horváth Supported by TÁMOP-412A/1-11/1-2011-0052
More informationCS256/Winter 2009 Lecture #6. Zohar Manna
CS256/Winter 2009 Lecture #6 Zohar Manna Chapter 1 Invariance: Proof Methods For assertion q and SPL program P show P Õ ¼ q (i.e., q is P-invariant) 6-1 Proving Invariances Definitions Recall: the variables
More informationPSL Model Checking and Run-time Verification via Testers
PSL Model Checking and Run-time Verification via Testers Formal Methods 2006 Aleksandr Zaks and Amir Pnueli New York University Introduction Motivation (Why PSL?) A new property specification language,
More informationTrace semantics: towards a unification of parallel paradigms Stephen Brookes. Department of Computer Science Carnegie Mellon University
Trace semantics: towards a unification of parallel paradigms Stephen Brookes Department of Computer Science Carnegie Mellon University MFCSIT 2002 1 PARALLEL PARADIGMS State-based Shared-memory global
More informationLecture Notes on Model Checking
Lecture Notes on Model Checking 15-816: Modal Logic André Platzer Lecture 18 March 30, 2010 1 Introduction to This Lecture In this course, we have seen several modal logics and proof calculi to justify
More informationFormal Verification. Lecture 1: Introduction to Model Checking and Temporal Logic¹
Formal Verification Lecture 1: Introduction to Model Checking and Temporal Logic¹ Jacques Fleuriot jdf@inf.ed.ac.uk ¹Acknowledgement: Adapted from original material by Paul Jackson, including some additions
More information- Introduction to propositional, predicate and higher order logics
Lecture 1: Deductive Verification of Reactive Systems - Introduction to propositional, predicate and higher order logics - Deductive Invariance Proofs Cristina Seceleanu MRTC, MdH E-mail: cristina.seceleanu@mdh.se
More information2 Real-Time Systems Real-time systems will be modeled by timed transition systems [7, 15]. A timed transition system S = hv; ; ; T ; L; Ui consists of
Verication in Continuous Time by Discrete Reasoning? Luca de Alfaro and Zohar Manna Comper Science Department Stanford University Stanford, CA 94305, USA fluca,zmg@cs.stanford.edu 1 Introduction There
More informationChapter 4: Computation tree logic
INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification
More informationCS477 Formal Software Dev Methods
CS477 Formal Software Dev Methods Elsa L Gunter 2112 SC, UIUC egunter@illinois.edu http://courses.engr.illinois.edu/cs477 Slides based in part on previous lectures by Mahesh Vishwanathan, and by Gul Agha
More informationDiagram-based Formalisms for the Verication of. Reactive Systems. Anca Browne, Luca de Alfaro, Zohar Manna, Henny B. Sipma and Tomas E.
In CADE-1 Workshop on Visual Reasoning, New Brunswick, NJ, July 1996. Diagram-based Formalisms for the Verication of Reactive Systems Anca Browne, Luca de Alfaro, Zohar Manna, Henny B. Sipma and Tomas
More informationA Termination Checker for Isabelle Hoare Logic
A Termination Checker for Isabelle Hoare Logic Jia Meng 1, Lawrence C. Paulson 2, and Gerwin Klein 3 1 National ICT Australia jia.meng@nicta.com.au 2 Computer Laboratory, University of Cambridge lp15@cam.ac.uk
More informationIntroduction. Büchi Automata and Model Checking. Outline. Büchi Automata. The simplest computation model for infinite behaviors is the
Introduction Büchi Automata and Model Checking Yih-Kuen Tsay Department of Information Management National Taiwan University FLOLAC 2009 The simplest computation model for finite behaviors is the finite
More informationModels. Lecture 25: Model Checking. Example. Semantics. Meanings with respect to model and path through future...
Models Lecture 25: Model Checking CSCI 81 Spring, 2012 Kim Bruce Meanings with respect to model and path through future... M = (S,, L) is a transition system if S is a set of states is a transition relation
More informationModal and Temporal Logics
Modal and Temporal Logics Colin Stirling School of Informatics University of Edinburgh July 23, 2003 Why modal and temporal logics? 1 Computational System Modal and temporal logics Operational semantics
More informationCOMP2111 Glossary. Kai Engelhardt. Contents. 1 Symbols. 1 Symbols 1. 2 Hoare Logic 3. 3 Refinement Calculus 5. rational numbers Q, real numbers R.
COMP2111 Glossary Kai Engelhardt Revision: 1.3, May 18, 2018 Contents 1 Symbols 1 2 Hoare Logic 3 3 Refinement Calculus 5 1 Symbols Booleans B = {false, true}, natural numbers N = {0, 1, 2,...}, integers
More informationLinear-Time Logic. Hao Zheng
Linear-Time Logic Hao Zheng Department of Computer Science and Engineering University of South Florida Tampa, FL 33620 Email: zheng@cse.usf.edu Phone: (813)974-4757 Fax: (813)974-5456 Hao Zheng (CSE, USF)
More informationModel Checking. Boris Feigin March 9, University College London
b.feigin@cs.ucl.ac.uk University College London March 9, 2005 Outline 1 2 Techniques Symbolic 3 Software 4 Vs. Deductive Verification Summary Further Reading In a nutshell... Model checking is a collection
More informationControl Predicates Are Better Than Dummy Variables For Reasoning About Program Control
Control Predicates Are Better Than Dummy Variables For Reasoning About Program Control LESLIE LAMPORT Digital Equipment Corporation When explicit control predicates rather than dummy variables are used,
More informationTemporal & Modal Logic. Acronyms. Contents. Temporal Logic Overview Classification PLTL Syntax Semantics Identities. Concurrency Model Checking
Temporal & Modal Logic E. Allen Emerson Presenter: Aly Farahat 2/12/2009 CS5090 1 Acronyms TL: Temporal Logic BTL: Branching-time Logic LTL: Linear-Time Logic CTL: Computation Tree Logic PLTL: Propositional
More informationTemporal logics and explicit-state model checking. Pierre Wolper Université de Liège
Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and
More informationFrom Liveness to Promptness
From Liveness to Promptness Orna Kupferman Hebrew University Nir Piterman EPFL Moshe Y. Vardi Rice University Abstract Liveness temporal properties state that something good eventually happens, e.g., every
More informationarxiv:cs/ v2 [cs.lo] 24 Apr 2005
SIGACT News Logic Column 11 The Finite and the Infinite in Temporal Logic arxiv:cs/0502031v2 [cs.lo] 24 Apr 2005 Riccardo Pucella Cornell University Ithaca, NY 14853 USA riccardo@cs.cornell.edu Note from
More informationFinite-State Model Checking
EECS 219C: Computer-Aided Verification Intro. to Model Checking: Models and Properties Sanjit A. Seshia EECS, UC Berkeley Finite-State Model Checking G(p X q) Temporal logic q p FSM Model Checker Yes,
More informationCS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018
CS 301 Lecture 18 Decidable languages Stephen Checkoway April 2, 2018 1 / 26 Decidable language Recall, a language A is decidable if there is some TM M that 1 recognizes A (i.e., L(M) = A), and 2 halts
More informationBasics of Linear Temporal Proper2es
Basics of Linear Temporal Proper2es Robert B. France State vs ac2on view Ac2on view abstracts out states; focus only on ac2on labels State view: focus only on states and the proposi2ons that are true in
More informationThe Polyranking Principle
The Polyranking Principle Aaron R. Bradley, Zohar Manna, and Henny B. Sipma Computer Science Department Stanford University Stanford, CA 94305-9045 {arbrad,zm,sipma}@theory.stanford.edu Abstract. Although
More informationLecture Notes: Axiomatic Semantics and Hoare-style Verification
Lecture Notes: Axiomatic Semantics and Hoare-style Verification 17-355/17-665/17-819O: Program Analysis (Spring 2018) Claire Le Goues and Jonathan Aldrich clegoues@cs.cmu.edu, aldrich@cs.cmu.edu It has
More informationAbstractions and Decision Procedures for Effective Software Model Checking
Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture
More informationProjections: A Technique for Verifying Real-Time Programs in Duration Calculus
Projections: A Technique for Verifying Real-Time Programs in Duration Calculus Dang Van Hung The United Nations University International Institute for Software Technology P.O.Box 3058, Macau Abstract.
More informationAxiomatic Semantics. Lecture 9 CS 565 2/12/08
Axiomatic Semantics Lecture 9 CS 565 2/12/08 Axiomatic Semantics Operational semantics describes the meaning of programs in terms of the execution steps taken by an abstract machine Denotational semantics
More informationCS156: The Calculus of Computation
Page 1 of 61 CS156: The Calculus of Computation Zohar Manna Winter 2010 Chapter 5: Program Correctness: Mechanics Page 2 of 61 Program A: LinearSearch with function specification @pre 0 l u < a @post rv
More informationProgram Analysis Part I : Sequential Programs
Program Analysis Part I : Sequential Programs IN5170/IN9170 Models of concurrency Program Analysis, lecture 5 Fall 2018 26. 9. 2018 2 / 44 Program correctness Is my program correct? Central question for
More informationGoal specification using temporal logic in presence of non-deterministic actions
Goal specification using temporal logic in presence of non-deterministic actions Chitta Baral Matt Barry Department of Computer Sc. and Engg. Advance Tech Development Lab Arizona State University United
More informationIntroduction to Formal Verification Methods Exercise 4
Introduction to Formal Verification Methods Exercise 4 Guy Katz, 301062063 May 30, 2013 Question 1 We argue that there exists a weakly fair non-progress cycle in the given model. ssuming weak fairness,
More informationLogic. Propositional Logic: Syntax
Logic Propositional Logic: Syntax Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about
More informationLTL and CTL. Lecture Notes by Dhananjay Raju
LTL and CTL Lecture Notes by Dhananjay Raju draju@cs.utexas.edu 1 Linear Temporal Logic: LTL Temporal logics are a convenient way to formalise and verify properties of reactive systems. LTL is an infinite
More informationVerification Constraint Problems with Strengthening
Verification Constraint Problems with Strengthening Aaron R. Bradley and Zohar Manna Computer Science Department Stanford University Stanford, CA 94305-9045 {arbrad,manna}@cs.stanford.edu Abstract. The
More informationEDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach
EDA045F: Program Analysis LECTURE 10: TYPES 1 Christoph Reichenbach In the last lecture... Performance Counters Challenges in Dynamic Performance Analysis Taint Analysis Binary Instrumentation 2 / 44 Types
More informationTemporal Reasoning for Procedural Programs
Temporal Reasoning for Procedural Programs Rajeev Alur 1 and Swarat Chaudhuri 2 1 University of Pennsylvania, USA 2 Pennsylvania State University, USA Abstract. While temporal verification of programs
More informationMathematical Logic Propositional Logic - Tableaux*
Mathematical Logic Propositional Logic - Tableaux* Fausto Giunchiglia and Mattia Fumagalli University of Trento *Originally by Luciano Serafini and Chiara Ghidini Modified by Fausto Giunchiglia and Mattia
More informationLoop Convergence. CS 536: Science of Programming, Fall 2018
Solved Loop Convergence CS 536: Science of Programming, Fall 2018 A. Why Diverging programs aren t useful, so it s useful to know how to show that loops terminate. B. Objectives At the end of this lecture
More informationCDS 270 (Fall 09) - Lecture Notes for Assignment 8.
CDS 270 (Fall 09) - Lecture Notes for Assignment 8. ecause this part of the course has no slides or textbook, we will provide lecture supplements that include, hopefully, enough discussion to complete
More informationLinear-time Temporal Logic
Linear-time Temporal Logic Pedro Cabalar Department of Computer Science University of Corunna, SPAIN cabalar@udc.es 2015/2016 P. Cabalar ( Department Linear oftemporal Computer Logic Science University
More informationSafety and Liveness. Thread Synchronization: Too Much Milk. Critical Sections. A Really Cool Theorem
Safety and Liveness Properties defined over an execution of a program Thread Synchronization: Too Much Milk Safety: nothing bad happens holds in every finite execution prefix Windows never crashes No patient
More informationProgram Analysis and Verification
Program Analysis and Verification 0368-4479 Noam Rinetzky Lecture 4: Axiomatic Semantics Slides credit: Tom Ball, Dawson Engler, Roman Manevich, Erik Poll, Mooly Sagiv, Jean Souyris, Eran Tromer, Avishai
More informationFirst-order resolution for CTL
First-order resolution for Lan Zhang, Ullrich Hustadt and Clare Dixon Department of Computer Science, University of Liverpool Liverpool, L69 3BX, UK {Lan.Zhang, U.Hustadt, CLDixon}@liverpool.ac.uk Abstract
More informationUnderstanding IC3. Aaron R. Bradley. ECEE, CU Boulder & Summit Middle School. Understanding IC3 1/55
Understanding IC3 Aaron R. Bradley ECEE, CU Boulder & Summit Middle School Understanding IC3 1/55 Further Reading This presentation is based on Bradley, A. R. Understanding IC3. In SAT, June 2012. http://theory.stanford.edu/~arbrad
More informationHarvard School of Engineering and Applied Sciences CS 152: Programming Languages
Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 17 Tuesday, April 2, 2013 1 There is a strong connection between types in programming languages and propositions
More informationSafety and Liveness Properties
Safety and Liveness Properties Lecture #6 of Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling and Verification E-mail: katoen@cs.rwth-aachen.de November 5, 2008 c JPK Overview Lecture
More informationSeparating Fairness and Well-Foundedness for the Analysis of Fair Discrete Systems
Separating Fairness and Well-Foundedness for the Analysis of Fair Discrete Systems Amir Pnueli 1, Andreas Podelski 2, and Andrey Rybalchenko 2 1 New York University, New York 2 Max-Planck-Institut für
More informationVerification Using Temporal Logic
CMSC 630 February 25, 2015 1 Verification Using Temporal Logic Sources: E.M. Clarke, O. Grumberg and D. Peled. Model Checking. MIT Press, Cambridge, 2000. E.A. Emerson. Temporal and Modal Logic. Chapter
More information1 Introduction. 2 First Order Logic. 3 SPL Syntax. 4 Hoare Logic. 5 Exercises
Contents 1 Introduction INF5140: Lecture 2 Espen H. Lian Institutt for informatikk, Universitetet i Oslo January 28, 2009 2 Proof System 3 SPL 4 GCD 5 Exercises Institutt for informatikk (UiO) INF5140:
More informationLecture Notes on Software Model Checking
15-414: Bug Catching: Automated Program Verification Lecture Notes on Software Model Checking Matt Fredrikson André Platzer Carnegie Mellon University Lecture 19 1 Introduction So far we ve focused on
More informationHoare Logic and Model Checking
Hoare Logic and Model Checking Kasper Svendsen University of Cambridge CST Part II 2016/17 Acknowledgement: slides heavily based on previous versions by Mike Gordon and Alan Mycroft Introduction In the
More informationFrom Liveness to Promptness
From Liveness to Promptness Orna Kupferman 1, Nir Piterman 2, and Moshe Y. Vardi 3 1 Hebrew University 2 Ecole Polytechnique Fédéral de Lausanne (EPFL) 3 Rice University Abstract. Liveness temporal properties
More informationA Short Introduction to Hoare Logic
A Short Introduction to Hoare Logic Supratik Chakraborty I.I.T. Bombay June 23, 2008 Supratik Chakraborty (I.I.T. Bombay) A Short Introduction to Hoare Logic June 23, 2008 1 / 34 Motivation Assertion checking
More informationAxiomatic Semantics: Verification Conditions. Review of Soundness and Completeness of Axiomatic Semantics. Announcements
Axiomatic Semantics: Verification Conditions Meeting 12, CSCI 5535, Spring 2009 Announcements Homework 4 is due tonight Wed forum: papers on automated testing using symbolic execution 2 Questions? Review
More informationChapter 6: Computation Tree Logic
Chapter 6: Computation Tree Logic Prof. Ali Movaghar Verification of Reactive Systems Outline We introduce Computation Tree Logic (CTL), a branching temporal logic for specifying system properties. A comparison
More informationLogic Model Checking
Logic Model Checking Lecture Notes 10:18 Caltech 101b.2 January-March 2004 Course Text: The Spin Model Checker: Primer and Reference Manual Addison-Wesley 2003, ISBN 0-321-22862-6, 608 pgs. the assignment
More informationModel Checking with CTL. Presented by Jason Simas
Model Checking with CTL Presented by Jason Simas Model Checking with CTL Based Upon: Logic in Computer Science. Huth and Ryan. 2000. (148-215) Model Checking. Clarke, Grumberg and Peled. 1999. (1-26) Content
More informationAutomatic Synthesis of Distributed Protocols
Automatic Synthesis of Distributed Protocols Rajeev Alur Stavros Tripakis 1 Introduction Protocols for coordination among concurrent processes are an essential component of modern multiprocessor and distributed
More informationStructural Contradictions
Structural Contradictions Cindy Eisner 1 and Dana Fisman 1,2 1 IBM Haifa Research Laboratory 2 Hebrew University Abstract. We study the relation between logical contradictions such as p p and structural
More informationIntroduction to Logic in Computer Science: Autumn 2006
Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Today s class will be an introduction
More informationHoare Logic: Reasoning About Imperative Programs
Hoare Logic: Reasoning About Imperative Programs COMP1600 / COMP6260 Dirk Pattinson Australian National University Semester 2, 2017 Catch Up / Drop in Lab When Fridays, 15.00-17.00 Where N335, CSIT Building
More informationTime and Timed Petri Nets
Time and Timed Petri Nets Serge Haddad LSV ENS Cachan & CNRS & INRIA haddad@lsv.ens-cachan.fr DISC 11, June 9th 2011 1 Time and Petri Nets 2 Timed Models 3 Expressiveness 4 Analysis 1/36 Outline 1 Time
More informationPropositional Logic: Deductive Proof & Natural Deduction Part 1
Propositional Logic: Deductive Proof & Natural Deduction Part 1 CS402, Spring 2016 Shin Yoo Deductive Proof In propositional logic, a valid formula is a tautology. So far, we could show the validity of
More informationCS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics
CS256/Spring 2008 Lecture #11 Zohar Manna Beyond Temporal Logics Temporal logic expresses properties of infinite sequences of states, but there are interesting properties that cannot be expressed, e.g.,
More informationModel checking the basic modalities of CTL with Description Logic
Model checking the basic modalities of CTL with Description Logic Shoham Ben-David Richard Trefler Grant Weddell David R. Cheriton School of Computer Science University of Waterloo Abstract. Model checking
More informationOverview. overview / 357
Overview overview6.1 Introduction Modelling parallel systems Linear Time Properties Regular Properties Linear Temporal Logic (LTL) Computation Tree Logic syntax and semantics of CTL expressiveness of CTL
More informationThe assertional versus Tarskian methods
The assertional versus Tarskian methods Uri Abraham May 12, 2014 Abstract In this lecture we analyze Peterson s well known two-process criticalsection protocol [3] and prove that the mutual exclusion property
More informationFloyd-Hoare Style Program Verification
Floyd-Hoare Style Program Verification Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 9 Feb 2017 Outline of this talk 1 Overview 2 Hoare Triples 3
More informationLogic. Propositional Logic: Syntax. Wffs
Logic Propositional Logic: Syntax Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about
More informationINF 4140: Models of Concurrency Series 3
Universitetet i Oslo Institutt for Informatikk PMA Olaf Owe, Martin Steffen, Toktam Ramezani INF 4140: Models of Concurrency Høst 2016 Series 3 14. 9. 2016 Topic: Semaphores (Exercises with hints for solution)
More information