Exact Quantitative Probabilistic Model Checking Through Rational - - PowerPoint PPT Presentation

exact quantitative probabilistic model checking through
SMART_READER_LITE
LIVE PREVIEW

Exact Quantitative Probabilistic Model Checking Through Rational - - PowerPoint PPT Presentation

Exact Quantitative Probabilistic Model Checking Through Rational Search Matthew S. Bauer 1 Umang Mathur 1 Rohit Chadha 2 A. Prasad Sistla 3 Mahesh Viswanathan 1 1 University of Illinois, Urbana Champaign 2 University of Missouri 3 University of


slide-1
SLIDE 1

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 1 of 23

Exact Quantitative Probabilistic Model Checking Through Rational Search

Matthew S. Bauer1 Umang Mathur1 Rohit Chadha2

  • A. Prasad Sistla3

Mahesh Viswanathan1

1University of Illinois, Urbana Champaign 2University of Missouri 3University of Illinois, Chicago

slide-2
SLIDE 2

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 2 of 23

Probabilistic Systems Everywhere

Systems exhibiting stochastic behavior : – Modeling unreliable/unpredictable behavior - processor failure, message loss, etc., – Model-based performance evaluation - analyze average waiting time, delay queue length, etc., – Cryptographic protocols and encryption schemes privacy and security – Distributed and network protocols - break symmetry

slide-3
SLIDE 3

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 3 of 23

Modeling Probabilistic Systems

State-transition systems with probabilistic transitions, remain the popular choice for modeling probabilistic systems.

slide-4
SLIDE 4

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 3 of 23

Modeling Probabilistic Systems

State-transition systems with probabilistic transitions, remain the popular choice for modeling probabilistic systems.

Discrete Time Markov Chains

A DTMC is a tuple M = (Z, ∆, L), where – Z is a finite set of states – ∆ : Z → Dist(Z) is the probabilistic transition function of M – L : Z → 2AP is a labeling function

slide-5
SLIDE 5

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 3 of 23

Modeling Probabilistic Systems

State-transition systems with probabilistic transitions, remain the popular choice for modeling probabilistic systems.

Discrete Time Markov Chains

A DTMC is a tuple M = (Z, ∆, L), where – Z is a finite set of states – ∆ : Z → Dist(Z) is the probabilistic transition function of M – L : Z → 2AP is a labeling function

start try delivered lost 1

9 10

1

1 10

1

Figure: DTMC modeling a simple communication protocol

slide-6
SLIDE 6

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 4 of 23

Computing Reachability Probabilities

Verification of probabilistic systems often involves checking the probability of reaching some set of states.

slide-7
SLIDE 7

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 4 of 23

Computing Reachability Probabilities

Verification of probabilistic systems often involves checking the probability of reaching some set of states.

start try delivered lost 1

9 10

1

1 10

1

Probability of reaching the state ‘delivered’ starting from each state ?

slide-8
SLIDE 8

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 4 of 23

Computing Reachability Probabilities

Verification of probabilistic systems often involves checking the probability of reaching some set of states.

start try delivered lost 1

9 10

1

1 10

1

Probability of reaching the state ‘delivered’ starting from each state ? xz : probability of reaching ‘delivered’ starting from z

slide-9
SLIDE 9

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 4 of 23

Computing Reachability Probabilities

Verification of probabilistic systems often involves checking the probability of reaching some set of states.

start try delivered lost 1

9 10

1

1 10

1 delivered

Probability of reaching the state ‘delivered’ starting from each state ? xz : probability of reaching ‘delivered’ starting from z xdelivered = 1.0

slide-10
SLIDE 10

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 4 of 23

Computing Reachability Probabilities

Verification of probabilistic systems often involves checking the probability of reaching some set of states.

start try delivered lost 1

9 10

1

1 10

1 try

Probability of reaching the state ‘delivered’ starting from each state ? xz : probability of reaching ‘delivered’ starting from z xtry = 9 10 ∗ xdelivered + 1 10 ∗ xlost xdelivered = 1.0

slide-11
SLIDE 11

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 4 of 23

Computing Reachability Probabilities

Verification of probabilistic systems often involves checking the probability of reaching some set of states.

start try delivered lost 1

9 10

1

1 10

1 lost

Probability of reaching the state ‘delivered’ starting from each state ? xz : probability of reaching ‘delivered’ starting from z xlost = 1.0 ∗ xtry xtry = 9 10 ∗ xdelivered + 1 10 ∗ xlost xdelivered = 1.0

slide-12
SLIDE 12

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 4 of 23

Computing Reachability Probabilities

Verification of probabilistic systems often involves checking the probability of reaching some set of states.

start try delivered lost 1

9 10

1

1 10

1 start

Probability of reaching the state ‘delivered’ starting from each state ? xz : probability of reaching ‘delivered’ starting from z xstart = 1.0 ∗ xtry xlost = 1.0 ∗ xtry xtry = 9 10 ∗ xdelivered + 1 10 ∗ xlost xdelivered = 1.0

slide-13
SLIDE 13

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 5 of 23

Computing Reachability Probabilities : Linear Programming

slide-14
SLIDE 14

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 5 of 23

Computing Reachability Probabilities : Linear Programming

– Computing reachability probabilities in DTMC = linear programming x = Ax + b

slide-15
SLIDE 15

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 5 of 23

Computing Reachability Probabilities : Linear Programming

– Computing reachability probabilities in DTMC = linear programming x = Ax + b – Linear programming

slide-16
SLIDE 16

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 5 of 23

Computing Reachability Probabilities : Linear Programming

– Computing reachability probabilities in DTMC = linear programming x = Ax + b – Linear programming

– doesn’t scale well to large models (despite low asymptotic complexity)

slide-17
SLIDE 17

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 5 of 23

Computing Reachability Probabilities : Linear Programming

– Computing reachability probabilities in DTMC = linear programming x = Ax + b – Linear programming

– doesn’t scale well to large models (despite low asymptotic complexity) – rarely used in practice for quantitative model checking

slide-18
SLIDE 18

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 5 of 23

Computing Reachability Probabilities : Linear Programming

– Computing reachability probabilities in DTMC = linear programming x = Ax + b – Linear programming

– doesn’t scale well to large models (despite low asymptotic complexity) – rarely used in practice for quantitative model checking

– State-of-the-art model checkers, such as PRISM, resort to techniques that compute approximations

slide-19
SLIDE 19

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 6 of 23

Approximate Model Checking : Value Iteration

– x = F(x),

slide-20
SLIDE 20

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 6 of 23

Approximate Model Checking : Value Iteration

– x = F(x), where F(x) = Ax + b

slide-21
SLIDE 21

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 6 of 23

Approximate Model Checking : Value Iteration

– x = F(x), where F(x) = Ax + b

– Fixpoint equation – Unique solution – F is monotone

slide-22
SLIDE 22

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 6 of 23

Approximate Model Checking : Value Iteration

– x = F(x), where F(x) = Ax + b

– Fixpoint equation – Unique solution – F is monotone

– The following iterative sequence converges to the unique fixpoint : x(i+1) = Ax(i) + b starting from x(0) = (0, 0, . . . , 0)T

slide-23
SLIDE 23

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 6 of 23

Approximate Model Checking : Value Iteration

– x = F(x), where F(x) = Ax + b

– Fixpoint equation – Unique solution – F is monotone

– The following iterative sequence converges to the unique fixpoint : x(i+1) = Ax(i) + b starting from x(0) = (0, 0, . . . , 0)T – This technique is called value iteration

slide-24
SLIDE 24

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 7 of 23

Approximate Model Checking : Value Iteration

start try delivered lost 1

9 10

1

1 10

1

Probability of reaching ‘delivered’ from each state?

slide-25
SLIDE 25

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 7 of 23

Approximate Model Checking : Value Iteration

start try delivered lost 1

9 10

1

1 10

1

Probability of reaching ‘delivered’ from each state? x(i+1)

start

= 1.0 ∗ x(i)

try

x(i+1)

try

= 9 10 ∗ x(i)

delivered + 1

10 ∗ x(i)

lost

x(i+1)

lost

= 1.0 ∗ x(i)

try

x(i+1)

delivered = 1.0

slide-26
SLIDE 26

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 7 of 23

Approximate Model Checking : Value Iteration

start try delivered lost 1

9 10

1

1 10

1

Probability of reaching ‘delivered’ from each state? x(i+1)

start

= 1.0 ∗ x(i)

try

x(i+1)

try

= 9 10 ∗ x(i)

delivered + 1

10 ∗ x(i)

lost

x(i+1)

lost

= 1.0 ∗ x(i)

try

x(i+1)

delivered = 1.0

Value Iteration :

slide-27
SLIDE 27

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 7 of 23

Approximate Model Checking : Value Iteration

start try delivered lost 1

9 10

1

1 10

1

Probability of reaching ‘delivered’ from each state? x(i+1)

start

= 1.0 ∗ x(i)

try

x(i+1)

try

= 9 10 ∗ x(i)

delivered + 1

10 ∗ x(i)

lost

x(i+1)

lost

= 1.0 ∗ x(i)

try

x(i+1)

delivered = 1.0

Value Iteration :

xstart xtry xlost xdelivered Init

slide-28
SLIDE 28

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 7 of 23

Approximate Model Checking : Value Iteration

start try delivered lost 1

9 10

1

1 10

1

Probability of reaching ‘delivered’ from each state? x(i+1)

start

= 1.0 ∗ x(i)

try

x(i+1)

try

= 9 10 ∗ x(i)

delivered + 1

10 ∗ x(i)

lost

x(i+1)

lost

= 1.0 ∗ x(i)

try

x(i+1)

delivered = 1.0

Value Iteration :

xstart xtry xlost xdelivered Init 1 Step-1

slide-29
SLIDE 29

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 7 of 23

Approximate Model Checking : Value Iteration

start try delivered lost 1

9 10

1

1 10

1

Probability of reaching ‘delivered’ from each state? x(i+1)

start

= 1.0 ∗ x(i)

try

x(i+1)

try

= 9 10 ∗ x(i)

delivered + 1

10 ∗ x(i)

lost

x(i+1)

lost

= 1.0 ∗ x(i)

try

x(i+1)

delivered = 1.0

Value Iteration :

xstart xtry xlost xdelivered Init 1 Step-1 0.9 1 Step-2

slide-30
SLIDE 30

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 7 of 23

Approximate Model Checking : Value Iteration

start try delivered lost 1

9 10

1

1 10

1

Probability of reaching ‘delivered’ from each state? x(i+1)

start

= 1.0 ∗ x(i)

try

x(i+1)

try

= 9 10 ∗ x(i)

delivered + 1

10 ∗ x(i)

lost

x(i+1)

lost

= 1.0 ∗ x(i)

try

x(i+1)

delivered = 1.0

Value Iteration :

xstart xtry xlost xdelivered Init 1 Step-1 0.9 1 Step-2 0.9 0.9 0.9 1 Step-3

slide-31
SLIDE 31

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 7 of 23

Approximate Model Checking : Value Iteration

start try delivered lost 1

9 10

1

1 10

1

Probability of reaching ‘delivered’ from each state? x(i+1)

start

= 1.0 ∗ x(i)

try

x(i+1)

try

= 9 10 ∗ x(i)

delivered + 1

10 ∗ x(i)

lost

x(i+1)

lost

= 1.0 ∗ x(i)

try

x(i+1)

delivered = 1.0

Value Iteration :

xstart xtry xlost xdelivered Init 1 Step-1 0.9 1 Step-2 0.9 0.9 0.9 1 Step-3 0.9 0.99 0.9 1 Step-4

slide-32
SLIDE 32

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 7 of 23

Approximate Model Checking : Value Iteration

start try delivered lost 1

9 10

1

1 10

1

Probability of reaching ‘delivered’ from each state? x(i+1)

start

= 1.0 ∗ x(i)

try

x(i+1)

try

= 9 10 ∗ x(i)

delivered + 1

10 ∗ x(i)

lost

x(i+1)

lost

= 1.0 ∗ x(i)

try

x(i+1)

delivered = 1.0

Value Iteration :

xstart xtry xlost xdelivered Init 1 Step-1 0.9 1 Step-2 0.9 0.9 0.9 1 Step-3 0.9 0.99 0.9 1 Step-4 0.99 0.99 0.99 1 Step-5

slide-33
SLIDE 33

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 7 of 23

Approximate Model Checking : Value Iteration

start try delivered lost 1

9 10

1

1 10

1

Probability of reaching ‘delivered’ from each state? x(i+1)

start

= 1.0 ∗ x(i)

try

x(i+1)

try

= 9 10 ∗ x(i)

delivered + 1

10 ∗ x(i)

lost

x(i+1)

lost

= 1.0 ∗ x(i)

try

x(i+1)

delivered = 1.0

Value Iteration :

xstart xtry xlost xdelivered Init 1 Step-1 0.9 1 Step-2 0.9 0.9 0.9 1 Step-3 0.9 0.99 0.9 1 Step-4 0.99 0.99 0.99 1 Step-5 0.99 0.999 0.99 1 Step-6

slide-34
SLIDE 34

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 7 of 23

Approximate Model Checking : Value Iteration

start try delivered lost 1

9 10

1

1 10

1

Probability of reaching ‘delivered’ from each state? x(i+1)

start

= 1.0 ∗ x(i)

try

x(i+1)

try

= 9 10 ∗ x(i)

delivered + 1

10 ∗ x(i)

lost

x(i+1)

lost

= 1.0 ∗ x(i)

try

x(i+1)

delivered = 1.0

Value Iteration :

xstart xtry xlost xdelivered Init 1 Step-1 0.9 1 Step-2 0.9 0.9 0.9 1 Step-3 0.9 0.99 0.9 1 Step-4 0.99 0.99 0.99 1 Step-5 0.99 0.999 0.99 1 Step-6 · · ·

slide-35
SLIDE 35

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 8 of 23

Value Iteration

More general setting :

slide-36
SLIDE 36

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 8 of 23

Value Iteration

More general setting : – Probabilistic Computation Tree Logic (PCTL) :

– Probabilistic analogue of CTL – Probabilistic quantifier : P✶p(·) – Modal operators : X (next), U (until).

– Is the probability of ‘delivered’ without being ‘lost’ ≥ 0.575 ? P≥0.575[¬lost U delivered] – Is every message almost surely delivered? P=1[true U delivered]

slide-37
SLIDE 37

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 8 of 23

Value Iteration

More general setting : – Probabilistic Computation Tree Logic (PCTL) :

– Probabilistic analogue of CTL – Probabilistic quantifier : P✶p(·) – Modal operators : X (next), U (until).

– Reward/cost structure

– Costs associated with transitions – Expected cost to reach a state?

start try delivered lost 1 5

9 10

8.6 1 7

1 10

1.5 1 3.9

slide-38
SLIDE 38

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 8 of 23

Value Iteration

More general setting : – Probabilistic Computation Tree Logic (PCTL) :

– Probabilistic analogue of CTL – Probabilistic quantifier : P✶p(·) – Modal operators : X (next), U (until).

– Reward/cost structure

– Costs associated with transitions – Expected cost to reach a state?

– Markov Decision Processes (MDPs)

– Non-deterministic choice (actions) – Probability distribution for every action from a state

s0 s1 s2 s3 β, 1

2

β, 1

2

α, 3

4

α, 1

4

α, 1 α, 1 α, 1

2

α, 1

2

slide-39
SLIDE 39

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 9 of 23

Value Iteration : Convergence

– Value iteration converges to the correct answer, in the limit

slide-40
SLIDE 40

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 9 of 23

Value Iteration : Convergence

– Value iteration converges to the correct answer, in the limit – The limit may not be reached in any finite number of steps

slide-41
SLIDE 41

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 9 of 23

Value Iteration : Convergence

– Value iteration converges to the correct answer, in the limit – The limit may not be reached in any finite number of steps

xstart xtry xlost xdelivered Init 1 Step-1 0.9 1 Step-2 0.9 0.9 0.9 1 Step-3 0.9 0.99 0.9 1 Step-4 0.99 0.99 0.99 1 Step-5 0.99 0.999 0.99 1 Step-6 · · ·

slide-42
SLIDE 42

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 9 of 23

Value Iteration : Convergence

– Value iteration converges to the correct answer, in the limit – The limit may not be reached in any finite number of steps

xstart xtry xlost xdelivered Init 1 Step-1 0.9 1 Step-2 0.9 0.9 0.9 1 Step-3 0.9 0.99 0.9 1 Step-4 0.99 0.99 0.99 1 Step-5 0.99 0.999 0.99 1 Step-6 · · ·

– At Step-(2i + 1),     xstart xtry xlost xdelivered     =     1 − 10−i 1 − 10−i 1 − 10−i 1    

slide-43
SLIDE 43

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 9 of 23

Value Iteration : Convergence

– Value iteration converges to the correct answer, in the limit – The limit may not be reached in any finite number of steps

xstart xtry xlost xdelivered Init 1 Step-1 0.9 1 Step-2 0.9 0.9 0.9 1 Step-3 0.9 0.99 0.9 1 Step-4 0.99 0.99 0.99 1 Step-5 0.99 0.999 0.99 1 Step-6 · · ·

– At Step-(2i + 1),     xstart xtry xlost xdelivered     =     1 − 10−i 1 − 10−i 1 − 10−i 1     – In the limit,     xstart xtry xlost xdelivered     =     1 1 1 1    

slide-44
SLIDE 44

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 10 of 23

Value Iteration : Convergence

– Value iteration may not converge in any finite number of steps

slide-45
SLIDE 45

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 10 of 23

Value Iteration : Convergence

– Value iteration may not converge in any finite number of steps – Model checkers need to stop the iterations in a finite number of steps

slide-46
SLIDE 46

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 10 of 23

Value Iteration : Convergence

– Value iteration may not converge in any finite number of steps – Model checkers need to stop the iterations in a finite number of steps – Common criteria : difference between successive vectors becomes small

– Absolute criterion : ||V (i+1) − V (i)|| ≤ ǫ – Relative criterion : || V (i+1)−V (i)

V (i)

|| ≤ ǫ

slide-47
SLIDE 47

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 10 of 23

Value Iteration : Convergence

– Value iteration may not converge in any finite number of steps – Model checkers need to stop the iterations in a finite number of steps – Common criteria : difference between successive vectors becomes small

– Absolute criterion : ||V (i+1) − V (i)|| ≤ ǫ – Relative criterion : || V (i+1)−V (i)

V (i)

|| ≤ ǫ

– Problem : high magnitude changes are preceded by periods of stability

slide-48
SLIDE 48

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 10 of 23

Value Iteration : Convergence

– Value iteration may not converge in any finite number of steps – Model checkers need to stop the iterations in a finite number of steps – Common criteria : difference between successive vectors becomes small

– Absolute criterion : ||V (i+1) − V (i)|| ≤ ǫ – Relative criterion : || V (i+1)−V (i)

V (i)

|| ≤ ǫ

– Problem : high magnitude changes are preceded by periods of stability – Unknown quality of the resulting approximation

slide-49
SLIDE 49

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 11 of 23

Exact Quantitative Model Checking

– Approximate solution techniques can lead to unreliable results – Incorrect analysis of systems – Verification tools must strive to get the exact answers – Existing techniques for exact model checking:

  • 1. Linear programming
  • 2. Parametric model

checking

  • 3. State Elimination

           Implemented in state-of-the-art quantitative model checkers - PRISM, STORM, etc.,

slide-50
SLIDE 50

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 12 of 23

Rational Search : Key Ideas

Rational Search Insight :

slide-51
SLIDE 51

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 12 of 23

Rational Search : Key Ideas

Rational Search Insight :

  • 1. When transition probabilities are rational, the exact solution vector also has

rational entries

slide-52
SLIDE 52

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 12 of 23

Rational Search : Key Ideas

Rational Search Insight :

  • 1. When transition probabilities are rational, the exact solution vector also has

rational entries

  • 2. Approximate answers resulting from value iteration can be used to find the

exact rational solution

slide-53
SLIDE 53

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 12 of 23

Rational Search : Key Ideas

Rational Search Insight :

  • 1. When transition probabilities are rational, the exact solution vector also has

rational entries

  • 2. Approximate answers resulting from value iteration can be used to find the

exact rational solution

  • 3. Checking if a rational vector is the correct solution is easy
slide-54
SLIDE 54

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 12 of 23

Rational Search : Key Ideas

Rational Search Insight :

  • 1. When transition probabilities are rational, the exact solution vector also has

rational entries

  • 2. Approximate answers resulting from value iteration can be used to find the

exact rational solution

  • 3. Checking if a rational vector is the correct solution is easy

– Fixpoint check : x = Ax + b – Unique solution : Only the correct answer passes the check

slide-55
SLIDE 55

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 13 of 23

Rational Search : Overview

Rational Search Overview :

slide-56
SLIDE 56

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 13 of 23

Rational Search : Overview

Rational Search Overview :

  • 1. Perform value iteration : approximate solution vector
slide-57
SLIDE 57

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 13 of 23

Rational Search : Overview

Rational Search Overview :

  • 1. Perform value iteration : approximate solution vector
  • 2. ‘Sharpen’ approximation :
slide-58
SLIDE 58

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 13 of 23

Rational Search : Overview

Rational Search Overview :

  • 1. Perform value iteration : approximate solution vector
  • 2. ‘Sharpen’ approximation :

– find a rational vector – close to the approximate solution – representable using few bits – guaranteed to be correct for good quality approximations

slide-59
SLIDE 59

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 13 of 23

Rational Search : Overview

Rational Search Overview :

  • 1. Perform value iteration : approximate solution vector
  • 2. ‘Sharpen’ approximation :

– find a rational vector – close to the approximate solution – representable using few bits – guaranteed to be correct for good quality approximations

  • 3. Confirm using fix-point check : x = Ax + b
slide-60
SLIDE 60

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 13 of 23

Rational Search : Overview

Rational Search Overview :

  • 1. Perform value iteration : approximate solution vector
  • 2. ‘Sharpen’ approximation :

– find a rational vector – close to the approximate solution – representable using few bits – guaranteed to be correct for good quality approximations

  • 3. Confirm using fix-point check : x = Ax + b
  • 4. Refine approximation if not a fixpoint
slide-61
SLIDE 61

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 14 of 23

Rational Search : Overview

Figure: RationalSearch : Overview

slide-62
SLIDE 62

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 14 of 23

Rational Search : Overview

PCTL ϕ

Figure: RationalSearch : Overview

slide-63
SLIDE 63

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 14 of 23

Rational Search : Overview

PCTL ϕ Value Iteration

Figure: RationalSearch : Overview

slide-64
SLIDE 64

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 14 of 23

Rational Search : Overview

PCTL ϕ Value Iteration Sharpen

Approximate solution

V †

Figure: RationalSearch : Overview

slide-65
SLIDE 65

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 14 of 23

Rational Search : Overview

PCTL ϕ Value Iteration Sharpen

Approximate solution

V † Exact Solution

Found

Figure: RationalSearch : Overview

slide-66
SLIDE 66

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 14 of 23

Rational Search : Overview

PCTL ϕ Value Iteration Sharpen

Approximate solution

V † Exact Solution

Found

ǫ ← ǫ/10

Not found

Figure: RationalSearch : Overview

slide-67
SLIDE 67

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 14 of 23

Rational Search : Overview

PCTL ϕ Value Iteration Sharpen

Approximate solution

V † Exact Solution

Found

ǫ ← ǫ/10

Not found

?

YES NO

Figure: RationalSearch : Overview

slide-68
SLIDE 68

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 15 of 23

Our Secret Ingredient : Kwek Mehlhorn Algorithm

For any interval I = [ α

β , γ δ ] with rational

endpoints, there is a unique minimal rational pmin/qmin ∈ I such that ∀p, q ∈ N, p q ∈ I = ⇒ pmin ≤ p and qmin ≤ q

slide-69
SLIDE 69

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 15 of 23

Our Secret Ingredient : Kwek Mehlhorn Algorithm

For any interval I = [ α

β , γ δ ] with rational

endpoints, there is a unique minimal rational pmin/qmin ∈ I such that ∀p, q ∈ N, p q ∈ I = ⇒ pmin ≤ p and qmin ≤ q Efficient algorithm to locate pmin/qmin in I, due to Kwek and Mehlhorn.

slide-70
SLIDE 70

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 15 of 23

Our Secret Ingredient : Kwek Mehlhorn Algorithm

For any interval I = [ α

β , γ δ ] with rational

endpoints, there is a unique minimal rational pmin/qmin ∈ I such that ∀p, q ∈ N, p q ∈ I = ⇒ pmin ≤ p and qmin ≤ q Efficient algorithm to locate pmin/qmin in I, due to Kwek and Mehlhorn.

α β γ δ

findFraction

α β γ δ

pmin/qmin Figure: Kwek Mehlhorn Algorithm

slide-71
SLIDE 71

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 15 of 23

Our Secret Ingredient : Kwek Mehlhorn Algorithm

For a rational interval I,

α β γ δ

findFraction

α β γ δ

pmin/qmin Figure: Kwek Mehlhorn Algorithm

slide-72
SLIDE 72

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 15 of 23

Our Secret Ingredient : Kwek Mehlhorn Algorithm

For a rational interval I, – If the length of I is small (I = [

µ 2M2 , µ+1 2M2 ]),

and

α β γ δ

findFraction

α β γ δ

pmin/qmin Figure: Kwek Mehlhorn Algorithm

slide-73
SLIDE 73

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 15 of 23

Our Secret Ingredient : Kwek Mehlhorn Algorithm

For a rational interval I, – If the length of I is small (I = [

µ 2M2 , µ+1 2M2 ]),

and – If I contains a rational number p/q of small size (1 ≤ p ≤ q ≤ M)

α β γ δ

findFraction

α β γ δ

pmin/qmin Figure: Kwek Mehlhorn Algorithm

slide-74
SLIDE 74

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 15 of 23

Our Secret Ingredient : Kwek Mehlhorn Algorithm

For a rational interval I, – If the length of I is small (I = [

µ 2M2 , µ+1 2M2 ]),

and – If I contains a rational number p/q of small size (1 ≤ p ≤ q ≤ M) – Then, p/q is the minimal rational in I

α β γ δ

findFraction

α β γ δ

pmin/qmin Figure: Kwek Mehlhorn Algorithm

slide-75
SLIDE 75

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 15 of 23

Our Secret Ingredient : Kwek Mehlhorn Algorithm

For a rational interval I, – If the length of I is small (I = [

µ 2M2 , µ+1 2M2 ]),

and – If I contains a rational number p/q of small size (1 ≤ p ≤ q ≤ M) – Then, p/q is the minimal rational in I – Can be found efficiently (in O(log M) steps) due to Kwek, Mehlhorn et. al.

α β γ δ

findFraction

α β γ δ

pmin/qmin Figure: Kwek Mehlhorn Algorithm

slide-76
SLIDE 76

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 16 of 23

Sharpening An Approximation

Sharpening an approximation :

Figure: Sharpening an approximation

slide-77
SLIDE 77

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 16 of 23

Sharpening An Approximation

Sharpening an approximation :

  • 1. Value iteration gives approximate

vector V †

V †(z) = 0.18 . . . 33120 . . .

Figure: Sharpening an approximation

slide-78
SLIDE 78

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 16 of 23

Sharpening An Approximation

Sharpening an approximation :

  • 1. Value iteration gives approximate

vector V †

– Supposedly close to the actual solution vector V

V †(z) = 0.18 . . . 33120 . . .

Figure: Sharpening an approximation

slide-79
SLIDE 79

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 16 of 23

Sharpening An Approximation

Sharpening an approximation :

  • 1. Value iteration gives approximate

vector V †

– Supposedly close to the actual solution vector V – How close?

V †(z) = 0.18 . . . 33120 . . .

Figure: Sharpening an approximation

slide-80
SLIDE 80

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 16 of 23

Sharpening An Approximation

Sharpening an approximation :

  • 1. Value iteration gives approximate

vector V †

– Supposedly close to the actual solution vector V – How close?

  • 2. Guess a rational vector V ∗ of small

size close to V †

V †(z) = 0.18 . . . 33120 . . .

Figure: Sharpening an approximation

slide-81
SLIDE 81

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 16 of 23

Sharpening An Approximation

Sharpening an approximation :

  • 1. Value iteration gives approximate

vector V †

– Supposedly close to the actual solution vector V – How close?

  • 2. Guess a rational vector V ∗ of small

size close to V †

– For every state z, construct an interval Iz using first d digits of V †(z)

V †(z) = 0. 18 . . . 331

  • d

20 . . .

0.18 . . . 331 0.18 . . . 332

+ 0. 00 . . . 001

  • d

Figure: Sharpening an approximation

slide-82
SLIDE 82

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 16 of 23

Sharpening An Approximation

Sharpening an approximation :

  • 1. Value iteration gives approximate

vector V †

– Supposedly close to the actual solution vector V – How close?

  • 2. Guess a rational vector V ∗ of small

size close to V †

– For every state z, construct an interval Iz using first d digits of V †(z) – Compute minimal fraction in this interval, using Kwek Mehlhorn algorithm

V †(z) = 0. 18 . . . 331

  • d

20 . . .

0.18 . . . 331 0.18 . . . 332

+ 0. 00 . . . 001

  • d

findFraction V ∗(z)

Figure: Sharpening an approximation

slide-83
SLIDE 83

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 17 of 23

Sharpening An Approximation

Is V ∗ the correct solution ?

Value Iteration

  • • •

Approximate vector V †

Figure: Sharpening an approximation

slide-84
SLIDE 84

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 17 of 23

Sharpening An Approximation

Is V ∗ the correct solution ? – Check if V ∗ satisfies the fixpoint check V ∗ = A · V ∗ + b – Only the correct solution passes this check

Value Iteration

  • • •

Approximate vector V † fixpoint? Candidate vector V ∗ Congratulations!

YES

Figure: Sharpening an approximation

slide-85
SLIDE 85

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 17 of 23

Sharpening An Approximation

Is V ∗ the correct solution ? – Check if V ∗ satisfies the fixpoint check V ∗ = A · V ∗ + b – Only the correct solution passes this check If V ∗ does not pass the check :

Value Iteration

  • • •

Approximate vector V † fixpoint? Candidate vector V ∗ Congratulations!

YES

Figure: Sharpening an approximation

slide-86
SLIDE 86

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 17 of 23

Sharpening An Approximation

Is V ∗ the correct solution ? – Check if V ∗ satisfies the fixpoint check V ∗ = A · V ∗ + b – Only the correct solution passes this check If V ∗ does not pass the check : – ‘Bad’ initial approximation V †

Value Iteration

  • • •

Approximate vector V † fixpoint? Candidate vector V ∗ Congratulations!

YES

Figure: Sharpening an approximation

slide-87
SLIDE 87

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 17 of 23

Sharpening An Approximation

Is V ∗ the correct solution ? – Check if V ∗ satisfies the fixpoint check V ∗ = A · V ∗ + b – Only the correct solution passes this check If V ∗ does not pass the check : – ‘Bad’ initial approximation V † – Generate a finer approximation by performing more iterations

Value Iteration

  • • •

Approximate vector V † fixpoint? Candidate vector V ∗ Congratulations!

YES NO

Refine

Figure: Sharpening an approximation

slide-88
SLIDE 88

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 17 of 23

Sharpening An Approximation

Is V ∗ the correct solution ? – Check if V ∗ satisfies the fixpoint check V ∗ = A · V ∗ + b – Only the correct solution passes this check If V ∗ does not pass the check : – ‘Bad’ initial approximation V † – Generate a finer approximation by performing more iterations – Eventually, a ‘good’ approximation will be generated : Value iteration converges in the limit

Value Iteration

  • • •

Approximate vector V † fixpoint? Candidate vector V ∗ Congratulations!

YES NO

Refine

Figure: Sharpening an approximation

slide-89
SLIDE 89

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 17 of 23

Sharpening An Approximation

Is V ∗ the correct solution ? – Check if V ∗ satisfies the fixpoint check V ∗ = A · V ∗ + b – Only the correct solution passes this check If V ∗ does not pass the check : – ‘Bad’ initial approximation V † – Generate a finer approximation by performing more iterations – Eventually, a ‘good’ approximation will be generated : Value iteration converges in the limit Details in the paper

Value Iteration

  • • •

Approximate vector V † fixpoint? Candidate vector V ∗ Congratulations!

YES NO

Refine

Figure: Sharpening an approximation

slide-90
SLIDE 90

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 18 of 23

Rational Search : Recap

PCTL Formula ϕ Value Iteration Sharpen

Approximate solution

V † Exact Solution

Found

ǫ ← ǫ/10

Not found

Kwek Mehlhorn Fixpoint

Candidate solution YES NO

Figure: RationalSearch : Overview

slide-91
SLIDE 91

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 19 of 23

Implementation

– Tool RationalSearch, implemented on top of PRISM

slide-92
SLIDE 92

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 19 of 23

Implementation

– Tool RationalSearch, implemented on top of PRISM – RationalSearch intercepts PRISM’s value iteration phase, and rationalizes the values

slide-93
SLIDE 93

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 19 of 23

Implementation

– Tool RationalSearch, implemented on top of PRISM – RationalSearch intercepts PRISM’s value iteration phase, and rationalizes the values – Extending PRISM’s engines :

slide-94
SLIDE 94

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 19 of 23

Implementation

– Tool RationalSearch, implemented on top of PRISM – RationalSearch intercepts PRISM’s value iteration phase, and rationalizes the values – Extending PRISM’s engines :

  • 1. Explicit engine

– Arbitrary precision libraries for Java : Apfloat, JScience

  • 2. Symbolic engines : MTBDD, Hybrid and Sparse

– Value iteration phase uses MTBDDs from CUDD library (written in C) – Extended CUDD to handle arbitrary precision rational numbers at leaf nodes – GNU MP library in C

slide-95
SLIDE 95

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 19 of 23

Implementation

– Tool RationalSearch, implemented on top of PRISM – RationalSearch intercepts PRISM’s value iteration phase, and rationalizes the values – Extending PRISM’s engines :

  • 1. Explicit engine

– Arbitrary precision libraries for Java : Apfloat, JScience

  • 2. Symbolic engines : MTBDD, Hybrid and Sparse

– Value iteration phase uses MTBDDs from CUDD library (written in C) – Extended CUDD to handle arbitrary precision rational numbers at leaf nodes – GNU MP library in C

– Available for download : https://publish.illinois.edu/rationalmodelchecker/

slide-96
SLIDE 96

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 20 of 23

Evaluation

1 2 3 4 5 6 7 8 9 10 11 Model RationalSearch PRISM STORM Explicit MTBDD Hybrid Name Parameter States Time Overhead Time Overhead Time Overhead Time Time (s) (%) (s) (%) (s) (%) (s) (s) Biased Coins 11 180K 23.1 336 0.125 179 0.178 225 1449.7 3.2 Dice 6 4.8M OOM N/A 1.8 2.1 6.5 12 TO 63

  • Din. Cryptographers

8 190K 18.9 197 0.278 70 0.364 105 356.2 2.4

  • Din. Philosophers

3 956 0.41 165 1.9 4.8 0.133 98 3.128 0.65 ECS 14 4.8M OOM N/A 2.4 23 11.6 79 TO TO Fair Exchange 400 320K 14.6 423 2.0 44 2.2 51 TO 1.1 Firewire 11,000 430K 122.2 225 15.1 0.2 19.5 21 232.3 29.5 Leader Election 4 12K 1.8 226 5.0 30 20.4 25 80 0.042 Virus Infection 3 809 0.5 165 2.8 52 0.17 93 0.98 0.032

Figure: Experimental Evaluation

slide-97
SLIDE 97

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 20 of 23

Evaluation

1 2 3 4 5 6 7 8 9 10 11 Model RationalSearch PRISM STORM Explicit MTBDD Hybrid Name Parameter States Time Overhead Time Overhead Time Overhead Time Time (s) (%) (s) (%) (s) (%) (s) (s) Biased Coins 11 180K 23.1 336 0.125 179 0.178 225 1449.7 3.2 Dice 6 4.8M OOM N/A 1.8 2.1 6.5 12 TO 63

  • Din. Cryptographers

8 190K 18.9 197 0.278 70 0.364 105 356.2 2.4

  • Din. Philosophers

3 956 0.41 165 1.9 4.8 0.133 98 3.128 0.65 ECS 14 4.8M OOM N/A 2.4 23 11.6 79 TO TO Fair Exchange 400 320K 14.6 423 2.0 44 2.2 51 TO 1.1 Firewire 11,000 430K 122.2 225 15.1 0.2 19.5 21 232.3 29.5 Leader Election 4 12K 1.8 226 5.0 30 20.4 25 80 0.042 Virus Infection 3 809 0.5 165 2.8 52 0.17 93 0.98 0.032

Figure: Experimental Evaluation

slide-98
SLIDE 98

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 20 of 23

Evaluation

1 2 3 4 5 6 7 8 9 10 11 Model RationalSearch PRISM STORM Explicit MTBDD Hybrid Name Parameter States Time Overhead Time Overhead Time Overhead Time Time (s) (%) (s) (%) (s) (%) (s) (s) Biased Coins 11 180K 23.1 336 0.125 179 0.178 225 1449.7 3.2 Dice 6 4.8M OOM N/A 1.8 2.1 6.5 12 TO 63

  • Din. Cryptographers

8 190K 18.9 197 0.278 70 0.364 105 356.2 2.4

  • Din. Philosophers

3 956 0.41 165 1.9 4.8 0.133 98 3.128 0.65 ECS 14 4.8M OOM N/A 2.4 23 11.6 79 TO TO Fair Exchange 400 320K 14.6 423 2.0 44 2.2 51 TO 1.1 Firewire 11,000 430K 122.2 225 15.1 0.2 19.5 21 232.3 29.5 Leader Election 4 12K 1.8 226 5.0 30 20.4 25 80 0.042 Virus Infection 3 809 0.5 165 2.8 52 0.17 93 0.98 0.032

Figure: Experimental Evaluation

slide-99
SLIDE 99

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 20 of 23

Evaluation

1 2 3 4 5 6 7 8 9 10 11 Model RationalSearch PRISM STORM Explicit MTBDD Hybrid Name Parameter States Time Overhead Time Overhead Time Overhead Time Time (s) (%) (s) (%) (s) (%) (s) (s) Biased Coins 11 180K 23.1 336 0.125 179 0.178 225 1449.7 3.2 Dice 6 4.8M OOM N/A 1.8 2.1 6.5 12 TO 63

  • Din. Cryptographers

8 190K 18.9 197 0.278 70 0.364 105 356.2 2.4

  • Din. Philosophers

3 956 0.41 165 1.9 4.8 0.133 98 3.128 0.65 ECS 14 4.8M OOM N/A 2.4 23 11.6 79 TO TO Fair Exchange 400 320K 14.6 423 2.0 44 2.2 51 TO 1.1 Firewire 11,000 430K 122.2 225 15.1 0.2 19.5 21 232.3 29.5 Leader Election 4 12K 1.8 226 5.0 30 20.4 25 80 0.042 Virus Infection 3 809 0.5 165 2.8 52 0.17 93 0.98 0.032

Figure: Experimental Evaluation

slide-100
SLIDE 100

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 21 of 23

Conclusions

slide-101
SLIDE 101

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 21 of 23

Conclusions

– Approximate answers from value iteration can result into erroneous analysis

slide-102
SLIDE 102

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 21 of 23

Conclusions

– Approximate answers from value iteration can result into erroneous analysis – Linear programming based exact quantitative model checking does not scale

slide-103
SLIDE 103

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 21 of 23

Conclusions

– Approximate answers from value iteration can result into erroneous analysis – Linear programming based exact quantitative model checking does not scale – Proposed algorithm for exact model checking

slide-104
SLIDE 104

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 21 of 23

Conclusions

– Approximate answers from value iteration can result into erroneous analysis – Linear programming based exact quantitative model checking does not scale – Proposed algorithm for exact model checking

– Uses approximate answers from value iteration

slide-105
SLIDE 105

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 21 of 23

Conclusions

– Approximate answers from value iteration can result into erroneous analysis – Linear programming based exact quantitative model checking does not scale – Proposed algorithm for exact model checking

– Uses approximate answers from value iteration – Low overhead : based on fast ‘binary-search’ like technique for rational numbers

slide-106
SLIDE 106

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 21 of 23

Conclusions

– Approximate answers from value iteration can result into erroneous analysis – Linear programming based exact quantitative model checking does not scale – Proposed algorithm for exact model checking

– Uses approximate answers from value iteration – Low overhead : based on fast ‘binary-search’ like technique for rational numbers

– Implemented algorithm in tool RationalSearch (https://publish.illinois.edu/rationalmodelchecker/)

slide-107
SLIDE 107

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 21 of 23

Conclusions

– Approximate answers from value iteration can result into erroneous analysis – Linear programming based exact quantitative model checking does not scale – Proposed algorithm for exact model checking

– Uses approximate answers from value iteration – Low overhead : based on fast ‘binary-search’ like technique for rational numbers

– Implemented algorithm in tool RationalSearch (https://publish.illinois.edu/rationalmodelchecker/) – Integration in STORM model checker

slide-108
SLIDE 108

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 22 of 23

Thank You !

slide-109
SLIDE 109

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 23 of 23

Power of RationalSearch

– DTMC modeling 11 biased coins (H : 1

3, T : 2 3)

slide-110
SLIDE 110

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 23 of 23

Power of RationalSearch

– DTMC modeling 11 biased coins (H : 1

3, T : 2 3)

– Probability of all coins landing heads

slide-111
SLIDE 111

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 23 of 23

Power of RationalSearch

– DTMC modeling 11 biased coins (H : 1

3, T : 2 3)

– Probability of all coins landing heads – Correct answer = 1/177, 147 : period of fraction is 20, 000 digits

slide-112
SLIDE 112

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 23 of 23

Power of RationalSearch

– DTMC modeling 11 biased coins (H : 1

3, T : 2 3)

– Probability of all coins landing heads – Correct answer = 1/177, 147 : period of fraction is 20, 000 digits – PRISM’s answer: ‘0.000005645029269476758’

slide-113
SLIDE 113

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 23 of 23

Power of RationalSearch

– DTMC modeling 11 biased coins (H : 1

3, T : 2 3)

– Probability of all coins landing heads – Correct answer = 1/177, 147 : period of fraction is 20, 000 digits – PRISM’s answer: ‘0.000005645029269476758’ – RationalSearch estimates the correct answer

slide-114
SLIDE 114

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 23 of 23

Power of RationalSearch

– DTMC modeling 11 biased coins (H : 1

3, T : 2 3)

– Probability of all coins landing heads – Correct answer = 1/177, 147 : period of fraction is 20, 000 digits – PRISM’s answer: ‘0.000005645029269476758’ – RationalSearch estimates the correct answer

– With just first 12 digits ‘0.000005645029’

slide-115
SLIDE 115

Matthew S. Bauer, Umang Mathur, Rohit Chadha , A. Prasad Sistla, Mahesh Viswanathan – 23 of 23

Power of RationalSearch

– DTMC modeling 11 biased coins (H : 1

3, T : 2 3)

– Probability of all coins landing heads – Correct answer = 1/177, 147 : period of fraction is 20, 000 digits – PRISM’s answer: ‘0.000005645029269476758’ – RationalSearch estimates the correct answer

– With just first 12 digits ‘0.000005645029’