Opeoluwa Matthews, Jesse Bingham, Daniel Sorin

Slides:



Advertisements
Similar presentations
Functional Decompositions for Hardware Verification With a few speculations on formal methods for embedded systems Ken McMillan.
Advertisements

Tintu David Joy. Agenda Motivation Better Verification Through Symmetry-basic idea Structural Symmetry and Multiprocessor Systems Mur ϕ verification system.
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.
Greta YorshEran YahavMartin Vechev IBM Research. { ……………… …… …………………. ……………………. ………………………… } P1() Challenge: Correct and Efficient Synchronization { ……………………………
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:
Hierarchical Cache Coherence Protocol Verification One Level at a Time through Assume Guarantee Xiaofang Chen, Yu Yang, Michael Delisi, Ganesh Gopalakrishnan.
Budapest University of Technology and EconomicsDagstuhl 2004 Department of Measurement and Information Systems 1 Towards Automated Formal Verification.
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
Concurrency Control Part 2 R&G - Chapter 17 The sequel was far better than the original! -- Nobody.
Hoare’s Correctness Triplets Dijkstra’s Predicate Transformers
CS 290C: Formal Models for Web Software Lecture 4: Implementing and Verifying Statecharts Specifications Using the Spin Model Checker Instructor: Tevfik.
Transaction Based Modeling and Verification of Hardware Protocols Xiaofang Chen, Steven M. German and Ganesh Gopalakrishnan Supported in part by SRC Contract.
Transaction Based Modeling and Verification of Hardware Protocols Xiaofang Chen, Steven M. German and Ganesh Gopalakrishnan Supported in part by Intel.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
Termination Detection. Goal Study the development of a protocol for termination detection with the help of invariants.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
1 An Inheritance-Based Technique for Building Simulation Proofs Incrementally Idit Keidar, Roger Khazan, Nancy Lynch, Alex Shvartsman MIT Lab for Computer.
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
Principles of Object-Oriented Software Development Behavioral refinement.
Verification of Hierarchical Cache Coherence Protocols for Future Processors Student: Xiaofang Chen Advisor: Ganesh Gopalakrishnan.
ESE601: Hybrid Systems Introduction to verification Spring 2006.
Counterexample Guided Invariant Discovery for Parameterized Cache Coherence Verification Sudhindra Pandav Konrad Slind Ganesh Gopalakrishnan.
Transaction Based Modeling and Verification of Hardware Protocols Xiaofang Chen, Steven M. German and Ganesh Gopalakrishnan Supported in part by SRC Contract.
Propositional Calculus Math Foundations of Computer Science.
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 4: SMT-based Bounded Model Checking of Concurrent Software.
Verification technique on SA applications using Incremental Model Checking 컴퓨터학과 신영주.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Systems Architecture I1 Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus so that they.
Chapter 19: Binary Trees. Objectives In this chapter, you will: – Learn about binary trees – Explore various binary tree traversal algorithms – Organize.
Runtime Refinement Checking of Concurrent Data Structures (the VYRD project) Serdar Tasiran Koç University, Istanbul, Turkey Shaz Qadeer Microsoft Research,
1 Automatic Non-interference Lemmas for Parameterized Model Checking Jesse Bingham, Intel DEG FMCAD 2008.
1 Inference Rules and Proofs (Z); Program Specification and Verification Inference Rules and Proofs (Z); Program Specification and Verification.
CS6133 Software Specification and Verification
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
Checking Reachability using Matching Logic Grigore Rosu and Andrei Stefanescu University of Illinois, USA.
Second-Order Functions and Theorems in ACL2 Alessandro Coglio Workshop 2015 Kestrel Institute.
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
Hwajung Lee. The State-transition model The set of global states = s 0 x s 1 x … x s m {s k is the set of local states of process k} S0  S1  S2  Each.
Recognizing safety and liveness Presented by Qian Huang.
Hwajung Lee. The State-transition model The set of global states = s 0 x s 1 x … x s m {s k is the set of local states of process k} S0  S1  S2  Each.
From Hoare Logic to Matching Logic Reachability Grigore Rosu and Andrei Stefanescu University of Illinois, USA.
Reasoning about the Behavior of Semantic Web Services with Concurrent Transaction Logic Presented By Dumitru Roman, Michael Kifer University of Innsbruk,
Chapter 8 Asynchronous System Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
Model Checking Lecture 1. Model checking, narrowly interpreted: Decision procedures for checking if a given Kripke structure is a model for a given formula.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Presented by: Belgi Amir Seminar in Distributed Algorithms Designing correct concurrent algorithms Spring 2013.
1/20 Arrays Changki PSWLAB Arrays Daniel Kroening and Ofer Strichman Decision Procedure.
Design of Tree Algorithm Objectives –Learning about satisfying safety and liveness of a distributed program –Apply the method of utilizing invariants and.
Model Checking Lecture 1: Specification Tom Henzinger.
IS 2620: Developing Secure Systems Formal Verification/Methods Lecture 9 March 15, 2012.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
1 Modeling and Analyzing Distributed Systems Using I/O Automata Nancy Lynch, MIT Draper Laboratory, IR&D Kickoff Meeting Aug. 30, 2002.
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
CENG 424-Logic for CS Introduction Based on the Lecture Notes of Konstantin Korovin, Valentin Goranko, Russel and Norvig, and Michael Genesereth.
Data Structure and Algorithms
Knowledge Representation and Reasoning
CIS 842: Specification and Verification of Reactive Systems
SMT-Based Verification of Parameterized Systems
Formal Verification/Methods
Propositional Calculus: Boolean Functions and Expressions
Propositional Calculus: Boolean Algebra and Simplification
Priority Queues and Heaps
IS 2935: Developing Secure Systems
Internet of Things A Process Calculus Approach
ITEC452 Distributed Computing Lecture 5 Program Correctness
Ch. 8 Priority Queues And Heaps
Towards a Unified Theory of Operational and Axiomatic Semantics
Introduction to verification
Presentation transcript:

Opeoluwa Matthews, Jesse Bingham, Daniel Sorin Verifiable Hierarchical Protocols with Network Invariants on Parametric Systems Opeoluwa Matthews, Jesse Bingham, Daniel Sorin http://people.duke.edu/~om26/ FMCAD 2016 - Mountain View, CA

Problem Statement Goal: design and automated verification of hierarchical protocols L I … R R - Root node I- Internal node L- Leaf node Normally verify in parameterized model checkers Prop. logic formula on leaf states Safety property:

Problem Statement Parametric model checkers fall short Suitable for flat protocols Can’t handle asymmetry in hierarchical protocols Solution: Design specifically to fit automated techniques Formally specify class of transition systems – Neo Require properties that enable automated safety verification Key: Network invariants + parameterized verification Next: illustration of our approach

Illustration of our Approach … R c3 c2 c1 R - Root node I- Internal node L- Leaf node Network Invariants require L Network Invariant All proper subtrees P Behavior along c1 over-approximates c2, c3 Preorder captures states and externally-visible behaviors of subhierarchy L Neo framework next Parameterized model Checking

Neo Framework Neo formalized on I/O Automata (IOA) process theory Neo system is an IOA with specific properties for actions, composition, and executions 3 classes of IOA Internal node Leaf node Root node Define 3 sets of actions Upward actions – U Downward actions – D Peer-to-peer actions – P Defining nodes next

I I Internal Node n-child k-peer Internal Node I is IOA that: Communicates with 1 parent, n children, k-1 peers, with index i I (u, i) (d, 0) (d, 1) (d, 2) . . . (d, n-1) (p, i, 0) (p, i, 1) (p, i, 2) (p, i, k-2) u ∈ U, p ∈ P, d ∈ D output actions I (d, i) (u, 0) (u, 1) (u, 2) . . . (u, n-1) (p, 0, i) (p, 1, i) (p, 2, i) (p, k-2, i) input actions

L L Leaf Node Leaf node L is 0-child, k-peer internal node: Communicates with 1 parent and k-1 peers, with index i u ∈ U, p ∈ P, d ∈ D L (u, i) . . . (p, i, 0) (p, i, 1) (p, i, 2) (p, i, k-2) output actions (d, i) (p, 2, i) (p, k-2, i) (p, 0, i) (p, 1, i) L . . . input actions

R R Root Node n-child Root Node R is IOA that: Communicates with n children R (d, 0) (d, 1) (d, 2) (d, n-1) . . . d ∈ D, u ∈ U output actions Defining Neo systems next R (u, 0) (u, 1) (u, 2) (u, n-1) . . . input actions

Defining Neo Systems k-peer Leaf L is Open Neo System, communicates with k- 1 peers 2 k-2 1 L . . .

… Defining Neo Systems 2 k-2 1 . . . A k-peer internal node A  1 . . . A … k-peer internal node A  k-peer Open Neo System

… Defining Neo Systems A A is root node  Closed Neo System Network Invariants A is root node  Closed Neo System

Network Invariants on Neo Systems Network Invariants captures behavior of subhierarchies (open Neo systems) Require: Every open Neo system must implement leaf wrt captures summaries of states and executions Summary states Summary functions Summary sequences of executions Defining summary states next

Summarizing States – Nodes Sum is set of summary states, with special element bad Have functions for every Neo system to capture summary state of each subhierarchy For leaf L, : For each n-child root or internal node A, Summarizing neo systems next : implies

Summarizing States – Neo systems For Neo system define as Defining safety next

Neo Safety safe if safe if all reachable states are safe Summarizing executions next

Summarizing Executions Generate summary sequence of exec e of as follows: state action summarize states Remove “silent” terms that don’t affect safety Delete all Preorder for NI next such that and

Neo Preorder Definition Need preorder for network invariants Given 2 open Neo systems , implies for all executions there exists execution We’ve defined a bunch of props for Neo systems, props enabled us prove main theorem. such that

Theoretical Result Antecedents: Every 1-level (all-leaf) open or closed neo system safe Every 1-level (all-leaf) open neo system implements leaf If 1. and 2. can be performed in parametric model checker Implication: Reduced 2-dimensional verification problem to 1 dimension Case study next

Case Study We design and verify hierarchical coherence protocol NeoGerman Modify (originally flat) German protocol into Neo hierarchy Coherence defined on predicates {E,S,I} on cache states 2 private caches in (E, E) or (E, S) prohibited D NeoGerman protocol next … C0 C1 C2 Cn-1

NeoGerman Protocol Root node is same as directory of German protocol is closed Neo system To get open Neo system , modify directory to be internal node (talk to parent) Internal node has state variable Permissions, captures summary of subhierarchy Illustration next

NeoGerman Protocol Illustration Permissions=S D GetExclusive … C0 C1 C2 Cn-1 I S S S

NeoGerman Protocol Illustration GetExclusive Permissions=S D … C0 C1 C2 Cn-1 I S S S

NeoGerman Protocol Illustration GrantExclusive Permissions=E D … C0 C1 C2 Cn-1 I S S S

NeoGerman Protocol Illustration Permissions=E D Inv Inv Inv … C0 C1 C2 Cn-1 I S S S

NeoGerman Protocol Illustration Permissions=E D Ack Ack … Ack C0 C1 C2 Cn-1 I I I I

NeoGerman Protocol Illustration Permissions=E D GrantExclusive … C0 C1 C2 Cn-1 Summary functions next E I I I

NeoGerman Summary Functions Preorder, safety defined w.r.t summary functions Need: if safety violated  function returns bad Create ordering < on Sum: I < S < E < bad 2 constraints on : Output of always returns value of Permissions if and 1) 2) High level verification methodology next

Verification Methodology All verification done automated in Cubicle parametric model checker SMT-based, backward reachability Similar syntax to Murφ, guard/action semantics Clean, promising results, great support! Must prove antecedents of Theorem 1 and safe – express in Cubicle L (preorder) trickier Preorder proof next

Preorder Proof Model both and L in same Cubicle program Force and L to transition in lockstep, starting with Have variables O_action and L_action, represent IOA action, updated after each transition, internal actions updated to (silent) One each transition, there needs to exist L step that “matches” step To reveal witness step, conjunct expression to L guards, forcing L take “right” step w.r.t step. Note: conjunction can only restrict L behavior

Preorder Proof After each step, Cubicle checks: There exists L action that can fire Cubicle safety prop: Disjunction of all L guards is true After each pair of and L steps, Cubicle checks: O_action=L_action, summary state outputs match Scope of Neo framework next

What Safety Properties can Neo Verify? Define class of FOL formulas we can verify are invariant We can verify all safety properties of the form: E.g., LP={E,S,I} We provide summary function guaranteed to verify all such safety properties Given set of predicates on leaf states and proposition logic formula over atoms of form Change l to little p

Industrial-strength hierarchical coherence protocol Future Work Industrial-strength hierarchical coherence protocol Request forwarding MESI coherence permissions Support for unordered networks Distributed lock management Richer permissions (NL, CR, CW, PR, PW, EX) Dynamic power management Natural hierarchy in datacenters Null, concurrent read, concurrent write, protected read, protected write, exclusive

Conclusions Neo framework enables design and automated verification of hierarchical protocols safe for arbitrary configurations Case study: Design and verify hierarchical coherence protocol Correct for arbitrary size, depth, branching degrees per node Proof completely automated in parametric model checker Prove observational preorder in parametric setting http://people.duke.edu/~om26/ FMCAD 2016 - Mountain View, CA