Download presentation
Presentation is loading. Please wait.
Published byNickolas Jordan Modified over 9 years ago
1
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha
2
2 Outline Formal Verification: Motivation Reachability for Asynchronous Systems Partitioned Transition Relations Efficient Reachability Techniques MBFS and Saturation Saturation: Experimental Results Conclusions
3
3 Formal Verification: Introduction Use methods from formal logic Show validity of properties on systems Formal requirements hold on a design Software, circuits, protocol models Alternative to simulation, testing Not all behaviors covered Model checking Verify concurrent systems Introduced by Clarke et al. (1981) An automated technique
4
4 Model Checking Finite state-transition model M, Property Determine if M satisfies Properties like: req is always followed by ack No error state is reachable from the initial state Involves Reachability analysis Generate reachable set of states State space explosion 2K2K.... K
5
5 Asynchronous Systems Concurrent Systems Consist of several execution units Synchronous All units take an execution step together Asynchronous Units may execute independent of each other Interleaved semantics of execution E.g. Concurrent software, asynchronous circuits Goal: Efficient model checking of asynchronous systems Symbolic Reduced State-Space
6
6 Symbolic Model Checking Use Ordered Binary Decision Diagrams (BDDs) Canonical, compact, operate on state sets Encode the system model M with BDDs States encoded by boolean variables V Transition relation also as BDD N(V,V’) s1s1 s0s0 t1t1 t2t2 t3t3 s0s1s0s1 a01a01 (!a Æ a’) (a Æ !a’) (a Æ a’) N(a,a’) = a a’ 1 0 1 11 01 1 a 1 0 1 1 a < a’ 0 0
7
7 Partial-Order Reduction s0s0’s0s0’ s0s1’s0s1’ s1s0’s1s0’ s1s1’s1s1’ Choose a representative set of paths Alternative model checking approach Useful if order of execution of transitions is irrelevant Sufficient to visit a subset of actual reachable state space Focus of this talk Full state space reachability using BDDs a a b b s0s0 s1s1 s0’s0’s1’s1’ b a
8
8 Reachability Analysis One-step reachability: Given a set of states S Find which states S’ can be reached in one step Iteratively apply one-step reachability Until no new states are visited Breadth-first exploration of graph e a d g b c f R0R0 R1R1 R2R2 e a d g b c f e a d g b c f = R 3
9
9 The Bigger Picture Combinational Circuit Delay o1o1 o 1 = 0 o 2 = 0 o 1 = 1 o 2 = 0 o 1 = 0 o 2 = 1 o 1 = 1 o 2 = 1 ? I1I1 Combinational Circuit Delay o2o2 I2I2
10
10 Symbolic Reachability : Image Computation Image of a set of states S Transition relation N: one-step reachability Basic operation, hence must be efficient Symbolic image computation: S(V), N(V,V’) BDDs Img(S,N) = [ 9 v 2 V (S(V) Æ N(V,V’) )] Reachability (starting from initial S 0 ): Reach(S,N) = S [ Img(S,N) Fixpoint: S. Reach(S,N)Fixpoint: S. Reach(S,N) Efficiency problem: Large N(V,V’) Large intermediate BDD sizes in image computation
11
11 Illustration: Intermediate BDD Sizes # BddNodes # States Dining Philosophers model Iterations
12
12 Partitioned Transition Relations Introduced by Burch et al. (BCL91) : Conjunction ( Æ ) or Disjunction () N(V,V’) = N 1 N 2 N k Typically, each N i much smaller than N Asynchronous systems with interleaving semantics: N(V,V’) = N 1 N 2 N k N i : only the i th unit executes Img(S, N) = V i Img(S,N i ) [BCL91] J.R. Burch, E.M. Clarke, and D.E. Long. Symbolic model checking with partitioned transition relations. In A. Halaas and P.B. Denyer, editors, International Conference on Very Large Scale Integration, pages 49-58, Edinburgh, Scotland, 1991. North-Holland. N1N1 N2N2 N3N3
13
13 BDD blowup Must consider different intermediate combinations of reachable states of concurrent units Even if they are independent Adds to intermediate BDD sizes Idea: Explore each unit separately to avoid such correlation [BCL91] Modified Breadth-First Search (MBFS) [BCL91] J.R. Burch, E.M. Clarke, and D.E. Long. Symbolic model checking with partitioned transition relations. In A. Halaas and P.B. Denyer, editors, International Conference on Very Large Scale Integration, pages 49-58, Edinburgh, Scotland, 1991. North-Holland.
14
14 Modified Breadth-First Search (MBFS) Given a disjunctive partition: N 1,...,N k Compute local fixpoints: S. Reach(S,N i ) Stop when: 8 i. Reach(S,N i ) = S Lower intermediate BDD sizes Chaotic fixpoint iteration strategy Family of functions: {Reach(S,N i ) j i · k} Apply functions in arbitrary order till convergence Must apply each function sufficiently often Observation: MBFS strategy may not be able to avoid blowups in some cases N1*N1* N2*N2* N3*N3*
15
15 s = (v 2, v 1,... ) N 1, N 2, N 3,... Illustration: BDD Blowup in MBFS s 1 (11) s 0 (00) N2N2 s 2 (01) s 3 (10) N1N1 N1N1 N 1, N 2 v2v2 v1v1 1 0 0 MBFS N 1, N 2 N1N1 v2v2 1 0 MBFS N2N2 N3N3... v2v2 v1v1 1 0 1 1 N1N1 1 MBFS N3N3 BDD explosion (s 0 ) (s 0,s 2 )(s 0,s 1,s 2 ) (s 0,s 1,s 2,s 3 )
16
16 Saturation: New approach Assume fixed variable ordering on BDDs: v 1 < v 2... < v k Define High(N i ): “least” variable that N i might change Low(N i ): “greatest” variable that N i might change Order transition relations by [High(N i ), Low(N i )] : N j Á N i N j changes only “lower” BDD variables than N i v2v2 v1v1 1 0 1 1 N2N2 N1N1 N 1 Á N 2
17
17 Saturation (Contd.) Saturate (N i ) do Compute S. Reach(S,N i ) /* states reachable by only N i */ 8 N j Á N i. Saturate (N j ) /*explore all N j Á N i */ Until S does not change Visits all possible reachable states using “lower” transition relations than N i Overall Strategy: K partitions For i= 1 to K. Saturate(N i ) N3*N3* N2*N2* N1*N1*
18
18 Saturation: Discussion Advantages Exploits independence of concurrent units Lower intermediate BDD sizes than MBFS Faster reachability computation in many cases Drawbacks May lead to spurious iterations Relies heavily on good variable ordering
19
19 Experimental Results Implemented Saturation approach in NuSMV model checker Handles designs of industrial strength Comparison with NuSMV with default options OOR: out of resources
20
20 Experimental Results (contd.) Implemented MBFS approach in NuSMV Comparison with MBFS
21
21 Experimental Results (contd.) Iterations Kanban(20): Comparison of Intermediate BDD sizes
22
22 Conclusions Efficient methods to compute reachable states of asynchronous systems Based on disjunctive partitions MBFS Alternative approach: Saturation Experimentally validated on several examples Future research Heuristics for obtaining good BDD variable ordering automatically Combining Saturation with Partial Order Reduction
23
23 Questions ?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.