On Reducing the Global State Graph for Verification of Distributed Computations Vijay K. Garg, Arindam Chakraborty Parallel and Distributed Systems Laboratory.

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness
Advertisements

Modeling and Analyzing Periodic Distributed Computations Anurag Agarwal Vijay Garg Vinit Ogale The University.
Problems and Their Classes
NP-Hard Nattee Niparnan.
CS 267: Automated Verification Lecture 2: Linear vs. Branching time. Temporal Logics: CTL, CTL*. CTL model checking algorithm. Counter-example generation.
Algorithmic Software Verification VII. Computation tree logic and bisimulations.
Partial Order Reduction: Main Idea
Lecture 24 MAS 714 Hartmut Klauck
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.
Game-theoretic approach to the simulation checking problem Peter Bulychev Vladimir Zakharov Lomonosov Moscow State University.
Model Checking I What are LTL and CTL?. and or dreq q0 dack q0bar.
CS6133 Software Specification and Verification
Timed Automata.
1 Temporal Claims A temporal claim is defined in Promela by the syntax: never { … body … } never is a keyword, like proctype. The body is the same as for.
Efficient Query Evaluation on Probabilistic Databases
1 Temporal Logic u Classical logic:  Good for describing static conditions u Temporal logic:  Adds temporal operators  Describe how static conditions.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Ordering and Consistent Cuts Presented By Biswanath Panda.
Distributed Systems Fall 2009 Logical time, global states, and debugging.
Firewall Policy Queries Author: Alex X. Liu, Mohamed G. Gouda Publisher: IEEE Transaction on Parallel and Distributed Systems 2009 Presenter: Chen-Yu Chang.
1 Carnegie Mellon UniversitySPINFlavio Lerda SPIN An explicit state model checker.
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
Temporal Logic and Model Checking. Reactive Systems We often classify systems into two types: Transformational: functions from inputs available at the.
¹ -Calculus Based on: “Model Checking”, E. Clarke and O. Grumberg (ch. 6, 7) “Symbolic Model Checking: 10^20 States and Beyond”, Burch, Clark, et al “Introduction.
Review of the automata-theoretic approach to model-checking.
Probabilistic Verification of Discrete Event Systems Håkan L. S. Younes.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Embedded Systems Laboratory Department of Computer and Information Science Linköping University Sweden Formal Verification and Model Checking Traian Pop.
Chapter 10 Global Properties. Unstable Predicate Detection A predicate is stable if, once it becomes true it remains true Snapshot algorithm is not useful.
1 3rd of July 2009 CEA LIST Symbolic execution based model checking of open systems with unbounded variables Nicolas RAPIN CEA LIST.
1 Temporal Logic-Overview FM Temporal Logic u Classical logic: Good for describing static conditions u Temporal logic: Adds temporal operators Describe.
Distributed Control of FACTS Devices Using a Transportation Model Bruce McMillin Computer Science Mariesa Crow Electrical and Computer Engineering University.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
10/19/2015COSC , Lecture 171 Real-Time Systems, COSC , Lecture 17 Stefan Andrei.
CS6133 Software Specification and Verification
Survey on Trace Analyzer (2) Hong, Shin /34Survey on Trace Analyzer (2) KAIST.
Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications 1.
1 Efficient Dependency Tracking for Relevant Events in Shared Memory Systems Anurag Agarwal Vijay K. Garg
Lazy Annotation for Program Testing and Verification Speaker: Chen-Hsuan Adonis Lin Advisor: Jie-Hong Roland Jiang November 26,
Lecture 81 Optimizing CTL Model checking + Model checking TCTL CS 5270 Lecture 9.
CS 267: Automated Verification Lecture 3: Fixpoints and Temporal Properties Instructor: Tevfik Bultan.
Distributed Systems Fall 2010 Logical time, global states, and debugging.
卜磊 Transition System. Definitions and notations Reactive System The intuition is that a transition system consists of a set of possible.
1 Parallel Model Checking Game for CTL Lecture 6 – Lecturer: Orna Grumberg.
THEORY OF COMPUTATION Komate AMPHAWAN 1. 2.
Verification & Validation By: Amir Masoud Gharehbaghi
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Parallel and Distributed Systems Laboratory Paradise: A Toolkit for Building Reliable Concurrent Systems Trace Verification for Parallel Systems Vijay.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 9, 2003.
NPC.
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
ICDCS 2006 Efficient Incremental Optimal Chain Partition of Distributed Program Traces Selma Ikiz Vijay K. Garg Parallel and Distributed Systems Laboratory.
Parallel and Distributed Systems Laboratory Paradise: A Toolkit for Building Reliable Concurrent Systems On Building Reliable Concurrent Systems Vijay.
29/06/2016Verification Synchronous Languages Verification.
Distributed Systems Lecture 6 Global states and snapshots 1.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
Basic concepts of Model Checking
CTL model checking algorithms
Detecting Temporal Logic Predicates on Distributed Computations
CSEP590 – Model Checking and Automated Verification
Formal Methods in software development
CSCI1600: Embedded and Real Time Software
Producing short counterexamples using “crucial events”
Trevor Brown DC 2338, Office hour M3-4pm
Formal Methods in software development
Program correctness Branching-time temporal logics
Program correctness Model-checking CTL
Presentation transcript:

On Reducing the Global State Graph for Verification of Distributed Computations Vijay K. Garg, Arindam Chakraborty Parallel and Distributed Systems Laboratory The University of Texas at Austin

Roadmap Motivation Background: Lattice Theory Interval Clocks and Congruences Detecting CTL-X predicates Optimal Congruence construction Conclusion

Motivation: Reliable Systems Concurrent systems are prone to errors.  Concurrency, nondeterminism, process and channel failures Techniques to ensure correctness Model Checking and Formal Verification  Exponential complexity Testing and Debugging

Trace: Total Order vs Partial Order Total order: interleaving of events in a trace Partial order: Lamport’s happened-before model f2f2 e1e1 CS 2 CS 1 f1f1 e2e2 P1P1 P2P2 Partial Order Trace CS 2 CS 1 e1e1 e2e2 f1f1 f2f2 e2e2 e1e1 CS 2 f1f1 f2f2 Successful Trace Specification: CS 1 Λ CS 2 ¬CS 2 ¬CS 1 ¬CS 2 ¬CS 1 ¬ CS 2 Faulty Trace 

Global State Graph of a Trace G is a (consistent) global state: (f in G) and (e happened before f) implies (e in G) e1e1 e2e2 f1f1 f2f2 T ┴ P1P1 P2P2 {e 1, ┴ } {f 1, ┴ } {e 1, f 1, ┴ } {e 2, e 1, f 1, ┴ } {e 2, e 1, f 2, f 1, ┴ {e 1, f 2, f 1, ┴ } {e 2, e 1, ┴ } {┴}{┴}

Problem Statement Given  a partially ordered trace  a temporal logic formula Determine:  if the formula is true in the graph of the global states of the trace Examples:  EF:CS(1) /\ CS(2)  AG:(request(i) => AF:lock(i))

The Main Difficulty in Partial Order Too many global states : The graph may contain as many as O(k n ) global states k: maximum number of events on a process n: number of processes e1e1 e2e2 f1f1 f2f2 T ┴ P1P1 P2P2 {e 1, ┴ } {f 1, ┴ } {e 1, f 1, ┴ } {e 2, e 1, f 1, ┴ } {e 2, e 1, f 2, f 1, ┴ {e 1, f 2, f 1, ┴ } {e 2, e 1, ┴ } {┴}{┴}

Reducing the Global State Graph Idea: Reduce the global state graph w.r.t the formula that needs to be verified Example: [Alagar, Venkatesan 01]  To detect a formula of the form EF:B it is sufficient to track only those variables that affect B B: non-temporal formula (e.g. x > y) This paper:  How do we extend this result to CTL-X ?

Temporal Logic Predicates (CTL) H HHH final cut H satisfies EF(p) H satisfies AF(p) H satisfies EG(p) H satisfies AG(p) p holdsp does not hold E: some path A: all paths F: eventually G: always simple predicates: EF(p), AF(p), EG(p), AG(p) nested predicates: AG(p => A F(q))

Temporal Logic CTL-X CTL Operators: EF, AF, EG, AG, EU, AU and X. X (next-time) is not preserved by state reductions, hence focus on CTL without X Example:, ”once a process requests a lock then it eventually gets the lock”, can be expressed as EG, AG and AU can be expressed in terms of EF, AF and EU Allows specification of path properties

Preserving path properties AF:Φ holds in the original graph but not the reduced graph

Our Approach Uses the fact that global state graph is a lattice Put constraints on the global states that can be merged so that path properties preserved Key result  If the global states are combined using lattice congruences then path properties are preserved

Distributive Lattice The set of global states forms a distributive lattice  closed under meet and join (union, intersection)  meet distributes over join ab c d ┴Τ G initial global state = { ┴ } {a, ┴ } {c, ┴ } {a, c, ┴ } {a, c, d, ┴ } final global state = {a, b, c, d, ┴ } G={a, b, c, ┴ } {a, b, ┴ }

Congruences An equivalence relation is a lattice congruence if it preserves meets and joins

Interval Clocks Interval: a maximal sequence of consecutive events on a process such that Φ stays same

Global Intervals Consistency of intervals Global Interval Consistent global interval Global Interval Lattice

State Space Reduction →

Intervals and Congruences Theorem [Alagar, Venkatesan 01]: There exists a global interval at which a predicate Φ is true if and only if there exists a global state at which Φ is true Hence interval clocks can be used to detect EF:B Result [this paper]: The global interval lattice formed by interval clocks is a reduced lattice modulo a congruence relation.

Detecting Temporal Formulae with Intervals B : any non-temporal formula. θ : any lattice congruence that refines the equivalence class induced by B. Theorem: AF:B holds in a lattice L iff AF:B holds in L/θ Key Lemma [Equivalence of Paths]: For any path in L, there exists an “equivalent” path in L/θ and vice-versa. Theorem: E:B1 U B2 holds in a lattice L iff E:B1 U B2 holds in L/θ. (Note: EG, AG and AU can be expressed in terms of AF, EF and EU)

Optimal Congruence Using interval clocks,  an online algorithm for state space reduction  Intervals can be computed locally by each process  A process reports only the relevant events to the monitor process Disadvantage:  Does not give the optimal congruence since each process decides locally Centralized Model:  each process reports every event to the monitor.  The monitor process has information from every process  compute exactly which global states need to be added

Optimal Congruence Principal Congruence: Given two elements a, b in L, the smallest congruence that puts a and b in the same congruence class is called the principal congruence of a and b, denoted Theorem: Given a lattice L and an equivalence relation E on L, the largest congruence that is contained in E is given by: x in J(L) if there exists an event e such that x is the least global state that contains e, x * = x – {e}.

Algorithm

Conclusions using congruences for the state space explosion problem  Induce equivalence on the global state graph by the value of the properties evaluated at each state  find the largest congruence that is contained in this equivalence relation Extended property verification using reduced lattices to CTL−X An algorithm to compute the optimal congruence

Q & A and thanks!

Nested Temporal Formulae Handle nested temporal formulae using the recursive sub- formulae evaluation technique of model checking Say we want to verify Interval Clocks will be based on non-temporal predicates p, r Model checking algorithms evaluate nested temporal formulae on the global state graph by recursively evaluating all sub-formulae. Given the global interval graph G and the formula Φ, model checking algorithms will return the set of all states which satisfy Φ (say [Φ]). We modify model checking so that along with returning [Φ], it also simultaneously labels each state s on the graph by whether Φ is true at s or not.

Algorithm 1. Find the set S of all sub-formulae without temporal operators, from the set of properties to be verified on the computation 2. Create the global interval lattice L from the computation by using interval clocks with respect to the set S 3. Run model checking algorithm on L with the modification that states are labeled in each step as described earlier. Nested temporal formulae, due to state labeling of sub-formulae, can be treated as simple unnested temporal formulae.