Local State Space Construction for Compositional Verification of Concurrent Systems Hao Zheng Department of Computer Science and Engineering University of South Florida H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 1 / 19
Introduction • Scope: model checking of finite state concurrent systems. • Asynchronous. • Communication via shared variables . • Applications: communication protocols, multi-thread programs, H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 2 / 19
Introduction • Scope: model checking of finite state concurrent systems. • Asynchronous. • Communication via shared variables . • Applications: communication protocols, multi-thread programs, • To present a local state space construction approach. • As a key part of a methodology for scalable model checking of finite state concurrent systems. • To addressing state explosion due to the interleavings of concurrent executions. • For local safety verification. • To helping partial order reduction to be more effective in global state space. H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 2 / 19
Overview of the Methodology Parallel composition of communicating processes M 1 � . . . � M n | = ϕ H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 3 / 19
Overview of the Methodology Parallel composition of communicating processes M 1 � . . . � M n | = ϕ Local State Space Construction & Verification H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 3 / 19
Overview of the Methodology Parallel composition of communicating processes M 1 � . . . � M n | = ϕ Local State Space Construction & Verification Local state transition models G 1 , . . . , G n H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 3 / 19
Overview of the Methodology Parallel composition of communicating processes M 1 � . . . � M n | = ϕ Local State Space Construction & Verification Local state transition models G 1 , . . . , G n Is ϕ verified? H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 3 / 19
Overview of the Methodology Parallel composition of communicating processes M 1 � . . . � M n | = ϕ Local State Space Construction & Verification Local state transition models G 1 , . . . , G n Yes Is ϕ verified? Terminate H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 3 / 19
Overview of the Methodology Parallel composition of communicating processes M 1 � . . . � M n | = ϕ Local State Space Construction & Verification Local state transition models G 1 , . . . , G n Yes No Is ϕ verified? Behavioral Analysis Terminate Transition Dependence Relation Global State Space Search with Partial Order Reduction H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 3 / 19
Overview of the Methodology Parallel composition of communicating processes M 1 � . . . � M n | = ϕ Local State Space Construction & Verification Local state transition models G 1 , . . . , G n Yes No Is ϕ verified? Behavioral Analysis Terminate Transition Dependence Relation Global State Space Search with Partial Order Reduction H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 3 / 19
Outline • Background • Local state space construction: previous work • The thread-modular approach • Local state space construction: an improvement • Synchronized local state space search • Experimental results • Discussions and conclusions H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 4 / 19
Background H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 5 / 19
High Level Description: A Simple Example M 2 = ( V 2 , p 0 , A 2 ); = { l 2 , x, y } ; V 2 p 0 = ( l 2 = 0 , x = 0 , y = 0); A 2 = { β 1 , β 2 } ; M 1 = ( V 1 , q 0 , A 1 ); where = { l 1 , x, z } ; V 1 = ( l 2 = 0 ∧ y = 0 , β 1 q 0 = ( l 1 = 0 , x = 0 , z = 0); x := 2; l 2 := 1); A 1 = { α 1 , α 2 , α 3 , α 4 } ; β 2 = ( l 2 = 1 ∧ x = 0 , where y := 1; l 2 := 0) = ( l 1 = 0 ∧ x > 0 , α 1 z := x + 1; l 1 := 1); α 2 = ( l 1 = 1 , = ( V 3 , s 0 , A 3 ); M 3 x := 0; l 1 := 2); V 3 = { l 3 , x, y } ; = ( l 1 = 2 ∧ x > 0 , α 3 = ( l 3 = 0 , x = 0 , y = 0); s 0 z := z ∗ x ; l 1 := 3); = { γ 1 , γ 2 } ; A 3 α 4 = ( l 1 = 3 , where x := 0; z := 0; l 1 := 0); γ 1 = ( l 3 = 0 ∧ y = 1 , x := 3; l 3 := 1); = ( l 3 = 1 ∧ x = 0 , γ 2 y := 0; l 3 := 0) H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 6 / 19
High Level Description: A Simple Example Processes M 2 = ( V 2 , p 0 , A 2 ); = { l 2 , x, y } ; V 2 p 0 = ( l 2 = 0 , x = 0 , y = 0); A 2 = { β 1 , β 2 } ; M 1 = ( V 1 , q 0 , A 1 ); where = { l 1 , x, z } ; V 1 = ( l 2 = 0 ∧ y = 0 , β 1 q 0 = ( l 1 = 0 , x = 0 , z = 0); x := 2; l 2 := 1); A 1 = { α 1 , α 2 , α 3 , α 4 } ; β 2 = ( l 2 = 1 ∧ x = 0 , where y := 1; l 2 := 0) = ( l 1 = 0 ∧ x > 0 , α 1 z := x + 1; l 1 := 1); α 2 = ( l 1 = 1 , = ( V 3 , s 0 , A 3 ); M 3 x := 0; l 1 := 2); V 3 = { l 3 , x, y } ; = ( l 1 = 2 ∧ x > 0 , α 3 = ( l 3 = 0 , x = 0 , y = 0); s 0 z := z ∗ x ; l 1 := 3); = { γ 1 , γ 2 } ; A 3 α 4 = ( l 1 = 3 , where x := 0; z := 0; l 1 := 0); γ 1 = ( l 3 = 0 ∧ y = 1 , x := 3; l 3 := 1); = ( l 3 = 1 ∧ x = 0 , γ 2 y := 0; l 3 := 0) H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 6 / 19
High Level Description: A Simple Example Variable declarations M 2 = ( V 2 , p 0 , A 2 ); = { l 2 , x, y } ; V 2 p 0 = ( l 2 = 0 , x = 0 , y = 0); A 2 = { β 1 , β 2 } ; M 1 = ( V 1 , q 0 , A 1 ); where = { l 1 , x, z } ; V 1 = ( l 2 = 0 ∧ y = 0 , β 1 q 0 = ( l 1 = 0 , x = 0 , z = 0); x := 2; l 2 := 1); A 1 = { α 1 , α 2 , α 3 , α 4 } ; β 2 = ( l 2 = 1 ∧ x = 0 , where y := 1; l 2 := 0) = ( l 1 = 0 ∧ x > 0 , α 1 z := x + 1; l 1 := 1); α 2 = ( l 1 = 1 , = ( V 3 , s 0 , A 3 ); M 3 x := 0; l 1 := 2); V 3 = { l 3 , x, y } ; = ( l 1 = 2 ∧ x > 0 , α 3 = ( l 3 = 0 , x = 0 , y = 0); s 0 z := z ∗ x ; l 1 := 3); = { γ 1 , γ 2 } ; A 3 α 4 = ( l 1 = 3 , where x := 0; z := 0; l 1 := 0); γ 1 = ( l 3 = 0 ∧ y = 1 , x := 3; l 3 := 1); = ( l 3 = 1 ∧ x = 0 , γ 2 y := 0; l 3 := 0) H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 6 / 19
High Level Description: A Simple Example Local initial states M 2 = ( V 2 , p 0 , A 2 ); = { l 2 , x, y } ; V 2 p 0 = ( l 2 = 0 , x = 0 , y = 0); A 2 = { β 1 , β 2 } ; M 1 = ( V 1 , q 0 , A 1 ); where = { l 1 , x, z } ; V 1 = ( l 2 = 0 ∧ y = 0 , β 1 q 0 = ( l 1 = 0 , x = 0 , z = 0); x := 2; l 2 := 1); A 1 = { α 1 , α 2 , α 3 , α 4 } ; β 2 = ( l 2 = 1 ∧ x = 0 , where y := 1; l 2 := 0) = ( l 1 = 0 ∧ x > 0 , α 1 z := x + 1; l 1 := 1); α 2 = ( l 1 = 1 , = ( V 3 , s 0 , A 3 ); M 3 x := 0; l 1 := 2); V 3 = { l 3 , x, y } ; = ( l 1 = 2 ∧ x > 0 , α 3 = ( l 3 = 0 , x = 0 , y = 0); s 0 z := z ∗ x ; l 1 := 3); = { γ 1 , γ 2 } ; A 3 α 4 = ( l 1 = 3 , where x := 0; z := 0; l 1 := 0); γ 1 = ( l 3 = 0 ∧ y = 1 , x := 3; l 3 := 1); = ( l 3 = 1 ∧ x = 0 , γ 2 y := 0; l 3 := 0) H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 6 / 19
High Level Description: A Simple Example Action sets M 2 = ( V 2 , p 0 , A 2 ); = { l 2 , x, y } ; V 2 p 0 = ( l 2 = 0 , x = 0 , y = 0); A 2 = { β 1 , β 2 } ; M 1 = ( V 1 , q 0 , A 1 ); where = { l 1 , x, z } ; V 1 = ( l 2 = 0 ∧ y = 0 , β 1 q 0 = ( l 1 = 0 , x = 0 , z = 0); x := 2; l 2 := 1); A 1 = { α 1 , α 2 , α 3 , α 4 } ; β 2 = ( l 2 = 1 ∧ x = 0 , where y := 1; l 2 := 0) = ( l 1 = 0 ∧ x > 0 , α 1 z := x + 1; l 1 := 1); α 2 = ( l 1 = 1 , = ( V 3 , s 0 , A 3 ); M 3 x := 0; l 1 := 2); V 3 = { l 3 , x, y } ; = ( l 1 = 2 ∧ x > 0 , α 3 = ( l 3 = 0 , x = 0 , y = 0); s 0 z := z ∗ x ; l 1 := 3); = { γ 1 , γ 2 } ; A 3 α 4 = ( l 1 = 3 , where x := 0; z := 0; l 1 := 0); γ 1 = ( l 3 = 0 ∧ y = 1 , x := 3; l 3 := 1); = ( l 3 = 1 ∧ x = 0 , γ 2 y := 0; l 3 := 0) H. Zheng (CSE USF) Local State Space Construction for Compositional Verification of Concurrent Systems 6 / 19
Recommend
More recommend