Transcript

On the random structure of behavioural transition systems.

Jan Friso Groote, Remco van der Hofstad,

Matthias Raffelsieper

How do we count rabbits in nature?

/ Informatica PAGE 2

How do we count the number of states in software?

/ Informatica PAGE 3

How do we count bugs in software?

/ Informatica PAGE 4

Random state spaces.

• N number of states (4).

• λ fanout (2).

/ Informatica PAGE 5

Each state has λ outgoing states to a randomly chosen other state.

Predict the size of a state space

/ Informatica PAGE 6

• m rabbits seen (transitions): 1, 3, 5,....

• im unique rabbits are unique (states): 1, 2, 3,....

Predict N, the total number of states.

/ Informatica PAGE 7

Firewire data link layer

(IEEE 1394, Bas Luttik)

Typically findings:

/ Informatica PAGE 8

Parallel random state spaces.

/ Informatica PAGE 9

A realistic random state space is the

parallel composition of p random state spaces.

no communicationno communication

Estimation of ‘product state spaces’

Remco van der Hofstad

/ Informatica PAGE 10

Ball at distance j: BT(j).

Layer at distance j: ∂BT(j).

Estimation of ‘product state spaces’

Remco van der Hofstad

/ Informatica PAGE 11

Ball at distance j: BT(j).

Layer at distance j: ∂BT(j).

BT(0).

∂BT(0).

Estimation of ‘product state spaces’

Remco van der Hofstad

/ Informatica PAGE 12

Ball at distance j: BT(j).

Layer at distance j: ∂BT(j).

BT(1).

∂BT(1).

Estimation of ‘product state spaces’

Remco van der Hofstad

/ Informatica PAGE 13

Ball at distance j: BT(j).

Layer at distance j: ∂BT(j).

BT(2).

∂BT(2).

Ball sizes of product graphs.

/ Informatica PAGE 14

Expected ball size (single transition system):

/ Informatica PAGE 15

Estimation of the layer size (product graph)

/ Informatica PAGE 16

Take enough layers and estimate: λ1, λ2, N1, N2.

Can we predict (2 parallel systems)?

/ Informatica PAGE 17

Can we predict (3 parallel systems)?

/ Informatica PAGE 18

And now reality (firewire protocol):

/ Informatica PAGE 19

And now reality (firewire protocol):

/ Informatica PAGE 20

And now reality (CABP):

/ Informatica PAGE 21

A remark on debugging.

/ Informatica PAGE 22

1000 states 103 states α=0.05 probability that error remains

undetected with a test of length m.

Some open problems.

• Is the model really that good?

• How to reduce the extreme calculational effort to do the predictions?

• Can we predict the index of parallelism? What is the correct number of parallel processes to model a particular system?

• How to estimate the probability to hit an ‘erroneous state’ in a random state space [no, contrary what you think, this is not known...].

/ Informatica PAGE 23


Top Related