CrystalBall Architecture n low-probability events, timately triggered the in- can take a very long time ncounter such a scenario, ssible bugs difficult. Our ves system debugging by e that combines some of nd static analysis. consistencies before they ssible because the model ket transmission in time tency, and because it can me shorter than than the aspect of our approach sibility: adapt the behav- n the fly and avoid an in- echnique execution steer- ly on a history of past in- !"#$%&'(&'') !*+%"*''," !*+$,-.,+/,) 0",12/%2*+ /3,/40*2+%$ $+&0$3*%$ '*/&')/3,/40*2+% 52*'&%2*+$ 6,%7*"4 +,2839*")2+:* ;&:,%#)<"*0,"%2,$ =.+%2>, ;,"52/, ?$%&%,) >&/32+,@ ,5,+%):2'%," >,$$&8,$A) %2>,"$ >,$$&8,$) !"#$%&'(&'')+*1, 6,%7*"4 +,2839*")2+:* Figure 4: High-level overview of CrystalBall join request of n13 and to break the TCP connection with it. Node n13 eventually succeeds joining the random tree (perhaps after some other nodes have joined first). The stale information about n13 in n9 is removed once n9 Deep online debugging: Property violations recorded Execution Steering: Avoids erroneous conditions reported Nov. 17, ATDS, Vrije Universiteit — Anant Distributed Debugging 19 of 21