Automatic Verification of non-silent Population Protocols
Master’s Thesis Martin Helfrich
Technical University of Munich
September 2019
Martin Helfrich (TUM) Verification of non-silent PP September 2019 1 / 31
Automatic Verification of non-silent Population Protocols Masters - - PowerPoint PPT Presentation
Automatic Verification of non-silent Population Protocols Masters Thesis Martin Helfrich Technical University of Munich September 2019 Martin Helfrich (TUM) Verification of non-silent PP September 2019 1 / 31 Population Protocols Model
Technical University of Munich
Martin Helfrich (TUM) Verification of non-silent PP September 2019 1 / 31
Martin Helfrich (TUM) Verification of non-silent PP September 2019 2 / 31
Example
Martin Helfrich (TUM) Verification of non-silent PP September 2019 3 / 31
2≤i≤|Q| Qi × Qi is a set of transitions,
Martin Helfrich (TUM) Verification of non-silent PP September 2019 4 / 31
Computing
1 input:
2 initial configuration:
3 fair1 execution:
def
t1
t2
t1
t2
1A fair execution cannot avoid configurations forever. Martin Helfrich (TUM) Verification of non-silent PP September 2019 5 / 31
Example
def
def
def
def
def
Martin Helfrich (TUM) Verification of non-silent PP September 2019 6 / 31
Correctness Problem
Martin Helfrich (TUM) Verification of non-silent PP September 2019 7 / 31
Martin Helfrich (TUM) Verification of non-silent PP September 2019 8 / 31
1 Stages are inductive sets of
2 Initial configurations are part
3 non-terminal stage:
4 terminal stage: correct
Martin Helfrich (TUM) Verification of non-silent PP September 2019 9 / 31
def
def
Martin Helfrich (TUM) Verification of non-silent PP September 2019 10 / 31
1 Executions can’t leave stages. 2 All executions start some stage. 3 Non-terminal & Fairness ⇒ "enter" substage 4 Terminal ⇒ correct consensus
Martin Helfrich (TUM) Verification of non-silent PP September 2019 11 / 31
Martin Helfrich (TUM) Verification of non-silent PP September 2019 12 / 31
Stage Representation
1 there is a configuration C0 |
∗
2 Tdead are dead, and 3 Qdeserted are deserted. Martin Helfrich (TUM) Verification of non-silent PP September 2019 13 / 31
Algorithm
✞ ☎
✝ ✆
Martin Helfrich (TUM) Verification of non-silent PP September 2019 14 / 31
Algorithm: Find new substages
✞ ☎
dead := EventuallyDead(P, ϕpre, S)
dead ⊃ Tdead
dead, Qdeserted)}
✝ ✆
Martin Helfrich (TUM) Verification of non-silent PP September 2019 15 / 31
Terminal
1 "reachable": use potential reachability [3]
2 "dead": use "disabled"2 3 "deserted": use "empty"
2We also use tighter approximations using the backwards coverability algorithm. Martin Helfrich (TUM) Verification of non-silent PP September 2019 16 / 31
EventuallyDead
L will eventually be disabled, and Disabled(L) ⇒ Dead(L)
Martin Helfrich (TUM) Verification of non-silent PP September 2019 17 / 31
Split
Martin Helfrich (TUM) Verification of non-silent PP September 2019 18 / 31
Example Dead: ∅ Deserted: ∅ Sinit Dead: {tAB} Deserted: ∅ S1 Dead: {tAB, tAb} Deserted: {A} S2 Dead: T Deserted: {A} S3 Dead: T Deserted: {A, a} ⇒ Consensus true S4 Dead: {tAB, tBa} Deserted: {B} S5 Dead: {tAB, tBa, tAb} Deserted: {B} S6 Dead: T Deserted: {B} S7 Dead: T Deserted: {B, A, a} ⇒ Consensus true S8 Dead: T Deserted: {B, b} ⇒ Consensus false S9
O(n2 log n) O(1) O(n2 log n) O(1) O(1) eO(n log n) O(n2 log n) O(1) O(1)
Majority Protocol “A ≤ B” tAB : AB − → ab tAb : Ab − → Aa tBa : Ba − → Bb tab : ab − → bb
Martin Helfrich (TUM) Verification of non-silent PP September 2019 19 / 31
Results
protocol predicate silent |Q| |T | proven time Majority A ≤ B yes 4 4 yes < 1s A&C(11,9) A ≤ B no 28 406 yes 700s Flock-of-Birds X ≥ 60 yes 61 1891 yes 328s succinct FoB. X ≥ 235 − 1 yes 70 1294 yes 334s
X ≥ 63 no 12 31 yes 40s Remainder
yes 22 250 yes 565s succinct Rem.
no 16 41 yes 75s Threshold
−2a − b + c + 2d < 3
yes 36 495 yes 32s succinct Thr.
−2a − b + c + 2d < 63
yes 20 66 yes 100s Table: Automatic verification of silent and non-silent protocols using stage graphs.
Martin Helfrich (TUM) Verification of non-silent PP September 2019 20 / 31
Results: Leader election
protocol n silent |Q| |T | proven time simple ∞ yes 2 1 yes < 1s Israeli-Jalfon 70 no 140 280 yes 2537s Herman 91 no 182 182 no 203s Herman modified 91 no 182 182 yes 2785s Table: Automatic verification of leader election protocols for n agents.
Martin Helfrich (TUM) Verification of non-silent PP September 2019 21 / 31
Martin Helfrich (TUM) Verification of non-silent PP September 2019 22 / 31
Speed Bounds
layered: O(nn) ranking: O(nc) for some constant c layered + ranking: O(n3) layered + ranking + "fast": O(n2 log n)
Martin Helfrich (TUM) Verification of non-silent PP September 2019 23 / 31
Example Dead: ∅ Deserted: ∅ Sinit Dead: {tAB} Deserted: ∅ S1 Dead: {tAB, tAb} Deserted: {A} S2 Dead: T Deserted: {A} S3 Dead: T Deserted: {A, a} ⇒ Consensus true S4 Dead: {tAB, tBa} Deserted: {B} S5 Dead: {tAB, tBa, tAb} Deserted: {B} S6 Dead: T Deserted: {B} S7 Dead: T Deserted: {B, A, a} ⇒ Consensus true S8 Dead: T Deserted: {B, b} ⇒ Consensus false S9
O(n2 log n) O(1) O(n2 log n) O(1) O(1) eO(n log n) O(n2 log n) O(1) O(1)
Majority Protocol “A ≤ B” tAB : AB − → ab tAb : Ab − → Aa tBa : Ba − → Bb tab : ab − → bb
Martin Helfrich (TUM) Verification of non-silent PP September 2019 24 / 31
Results
protocol |Q| |T | bound time Majority 4 4 O(nn) < 1s simple leader election 2 1 O(n2 log n) < 1s Flock-of-Birds(45) 46 2026 O(n3) 307s succinct FoB(511) 18 97 O(n3) 2.5s
12 31 O(nc) 307s Remainder(≡4) 6 18 O(n2 log n) 2.8s Threshold(< 2) 28 301 O(n3) 62s A&C(7,1) 10 55 O(n2 log n) 8.3s A&C(11,10) 32 528 O(n3) 550s Table: Automatically found and proven speed bounds.
Martin Helfrich (TUM) Verification of non-silent PP September 2019 25 / 31
Martin Helfrich (TUM) Verification of non-silent PP September 2019 26 / 31
Overview
Martin Helfrich (TUM) Verification of non-silent PP September 2019 27 / 31
Results
Table: Automatic verification of liveness of a single process in mutex algorithms.
Martin Helfrich (TUM) Verification of non-silent PP September 2019 28 / 31
Martin Helfrich (TUM) Verification of non-silent PP September 2019 29 / 31
Martin Helfrich (TUM) Verification of non-silent PP September 2019 30 / 31
Martin Helfrich (TUM) Verification of non-silent PP September 2019 31 / 31