Review of topics Final exam : -May 2nd to May 7 th - Projects due on May 7th.

Slides:



Advertisements
Similar presentations
Model Checking Base on Interoplation
Advertisements

Model Checking Lecture 4. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Model Checking Lecture 2. Three important decisions when choosing system properties: 1automata vs. logic 2branching vs. linear time 3safety vs. liveness.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
Algorithmic Software Verification VII. Computation tree logic and bisimulations.
Lecture 11: Datalog Tuesday, February 6, Outline Datalog syntax Examples Semantics: –Minimal model –Least fixpoint –They are equivalent Naive evaluation.
ICE1341 Programming Languages Spring 2005 Lecture #6 Lecture #6 In-Young Ko iko.AT. icu.ac.kr iko.AT. icu.ac.kr Information and Communications University.
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:
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.
François Fages MPRI Bio-info 2006 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraints Group, INRIA.
Temporal Logic and the NuSMV Model Checker CS 680 Formal Methods Jeremy Johnson.
Game-theoretic approach to the simulation checking problem Peter Bulychev Vladimir Zakharov Lomonosov Moscow State University.
CS6133 Software Specification and Verification
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
Timed Automata.
A Fixpoint Calculus for Local and Global Program Flows Swarat Chaudhuri, U.Penn (with Rajeev Alur and P. Madhusudan)
SYMBOLIC MODEL CHECKING: STATES AND BEYOND J.R. Burch E.M. Clarke K.L. McMillan D. L. Dill L. J. Hwang Presented by Rehana Begam.
August Moscow meeting1August Moscow meeting1August Moscow meeting11 Deductive tools in insertion modeling verification A.Letichevsky.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: Property checking Property checking.
ISBN Chapter 3 Describing Syntax and Semantics.
1 Discrete Structures Lecture 29 Predicates and Programming Read Ch
CS 355 – Programming Languages
Model Checking Lecture 5. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
Discrete Abstractions of Hybrid Systems Rajeev Alur, Thomas A. Henzinger, Gerardo Lafferriere and George J. Pappas.
Sanjit A. Seshia and Randal E. Bryant Computer Science Department
A temporal logic for calls and returns P. Madhusudan University of Pennsylvania Joint work with Rajeev Alur and Kousha Etessami Talk at HCES 2004, Philadelphia.
Review of the automata-theoretic approach to model-checking.
ESE601: Hybrid Systems Introduction to verification Spring 2006.
Describing Syntax and Semantics
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
CS 267: Automated Verification Lecture 13: Bounded Model Checking Instructor: Tevfik Bultan.
1 Introduction to SMV and Model Checking Mostly by: Ken McMillan Cadence Berkeley Labs Small parts by: Brandon Eames ISIS/Vanderbilt.
Model Checking Lecture 4 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
Languages of nested trees Swarat Chaudhuri University of Pennsylvania (with Rajeev Alur and P. Madhusudan)
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
CS 363 Comparative Programming Languages Semantics.
Algorithmic Software Verification V &VI. Binary decision diagrams.
A brief history of model checking Ken McMillan Cadence Berkeley Labs
Lecture 81 Optimizing CTL Model checking + Model checking TCTL CS 5270 Lecture 9.
Four Lectures on Model Checking Tom Henzinger University of California, Berkeley.
ISBN Chapter 3 Describing Semantics.
Chapter 3 Part II Describing Syntax and Semantics.
Semantics In Text: Chapter 3.
Introduction to Model Checking
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
Verification & Validation By: Amir Masoud Gharehbaghi
Overview of course CS598MP Spring’05. Modeling FSM, PDA Emptiness of PDA Games on FSMs Binary Decision Diagrams CTL bisimulations Mu-calculus Model-check.
Model Checking Lecture 1. Model checking, narrowly interpreted: Decision procedures for checking if a given Kripke structure is a model for a given formula.
Variants of LTL Query Checking Hana ChocklerArie Gurfinkel Ofer Strichman IBM Research SEI Technion Technion - Israel Institute of Technology.
Bounded Model Checking A. Biere, A. Cimatti, E. Clarke, Y. Zhu, Symbolic Model Checking without BDDs, TACAS’99 Presented by Daniel Choi Provable Software.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Model Checking Lecture 1: Specification Tom Henzinger.
Model Checking Lecture 2. Model-Checking Problem I |= S System modelSystem property.
Program Analysis and Verification Spring 2015 Program Analysis and Verification Lecture 8: Static Analysis II Roman Manevich Ben-Gurion University.
Model Checking Lecture 2 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
Presentation Title 2/4/2018 Software Verification using Predicate Abstraction and Iterative Refinement: Part Bug Catching: Automated Program Verification.
Basic concepts of Model Checking
CIS 842: Specification and Verification of Reactive Systems
Edward Smith University of Oxford
Binary Decision Diagrams
Formal Methods in software development
Introduction to verification
Formal Methods in software development
Program correctness Model-checking CTL
Model Checking Graph Grammars
Presentation transcript:

Review of topics Final exam : -May 2nd to May 7 th - Projects due on May 7th

Modeling Finite-state models (Kripke structures) Symbolic modeling of transition systems: – Boolean variables – Transitions described logically – Semantics of the Kripke structure generated Modeling recursive Boolean programs

Specification logics Reachability: – Solving reachability explicitly (DFS/BFS) Computation Tree Logic (CTL) – Syntax and semantics – Ability to write CTL specs given English spec – Ability to interpret CTL specs

Symbolic approach Boolean decision diagrams (BDDs) The representation of a function using a BDD BDD canonical given ordering Importance of ordering variables Operations on BDDs: – AND, OR, NOT – EXISTS

Symbolic model-checking Reachability algorithms using BDDs Symbolic CTL model-checking Using NuSMV to symbolically model-check reachability and CTL.

Specification logics contd. Automata on infinite words (Buchi automata) Linear temporal logic Converting linear temporal logic to Buchi Automata Automata-theoretic method for model checking LTL

Bounded model-checking Formulating bounded model-checking as a SAT formula (encoding initial and final conditions, the transitions functions and k-step reachability)

Dataflow analysis Generic setup of dataflow problems – Set of dataflow facts and lattice – Flow functions The maximal-fixpoint (MFP) and meet-over-all-paths (MOP) formulations Kill-gen functions, distributive flows

Dataflow Analysis Lattices and fixed points Tarski’s thm: existence of least fixed point for monotonic functions on a lattice Difference between MFP and MOP – MFP = MOP for distributive flows

Dataflow analysis Chaotic iteration to solve MFP problems for lattices where there are no infinite ascending chains. Automata-based analysis for MOP problems where the dataflow lattice is finite

Reachability in pushdown systems Games on finite graphs – Solving games using the attractor method Reachability of pushdown systems – Reduction to games on finite graphs.

Analysis of programs with function calls Reducing interprocedural MOP analysis to reachability in pushdown systems

Floyd’s framework of verification Floyd’s framework – Notion of interpretations – Logic to express invariants – Checking pre-post invariants to establish safety properties – Using ranking functions to prove that programs terminate

Preconditions and postconditions Definition of strongest postconditions and weakest pre-conditions Deriving the strongest post-condition for all standard operations (assignment, etc.) – Using existential quantification

Preconditions and postconditions Deriving the weakest pre-condition for all standard operations (assignment, etc.) – Without using existential quantification (see Graf-Saidi) Equivalence: strongest-postcondition(P) => Q  P => weakest-precondition(Q)

Proving programs correct Ability to find invariants and prove programs correct using Floyd’s framework

Predicate abstraction – Building the abstract program using precondition checks – Ability to manually abstract a program with respect to a set of predicates (and hence prove a property) – No testing of formal notation of abstract interpretation

Symbolic evaluation Ability to write down the constraints to check feasibility of a control-path of a program No formalisms; but must be able to do examples