Online testing of federated and heterogeneous distributed systems

DiCE is a system for online testing of federated and heterogeneous distributed systems. We have built a prototype of DiCE and integrated it with an open-source BGP router. DiCE quickly detects three important classes of faults, resulting from configuration mistakes, policy conflicts and programming errors. The goal of this demo is to showcase our DiCE prototype while it executes an experiment that involves exploring BGP system behavior in a topology with 27 BGP routers and Internet-like conditions (Figure 1).

[1]  Alessandro Orso,et al.  Gamma system: continuous evolution of software after deployment , 2002, ISSTA '02.

[2]  Richard P. Martin,et al.  Understanding and Dealing with Operator Mistakes in Internet Services , 2004, OSDI.

[3]  Anees Shaikh,et al.  Effective peering for multi-provider content delivery services , 2004, IEEE INFOCOM 2004.

[4]  Marco Canini,et al.  Toward Online Testing of Federated and Heterogeneous Distributed Systems , 2011, USENIX Annual Technical Conference.

[5]  Angelos D. Keromytis,et al.  Detecting Targeted Attacks Using Shadow Honeypots , 2005, USENIX Security Symposium.

[6]  Koushik Sen,et al.  Heuristics for Scalable Dynamic Test Generation , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[7]  Ye Wang,et al.  Shadow configuration as a network management primitive , 2008, SIGCOMM '08.

[8]  Viktor Kuncak,et al.  CrystalBall: Predicting and Preventing Inconsistencies in Deployed Distributed Systems , 2009, NSDI.

[9]  B. Cohen,et al.  Incentives Build Robustness in Bit-Torrent , 2003 .

[10]  Marco Canini,et al.  Fault prediction in distributed systems gone wild , 2010, LADIS '10.

[11]  Andreas Haeberlen,et al.  NetReview: Detecting When Interdomain Routing Goes Wrong , 2009, NSDI.

[12]  Nick Feamster,et al.  Detecting BGP configuration faults with static analysis , 2005 .

[13]  Koushik Sen,et al.  DART: directed automated random testing , 2005, PLDI '05.

[14]  Angelos D. Keromytis,et al.  Software Self-Healing Using Collaborative Application Communities , 2006, NDSS.

[15]  Michael I. Jordan,et al.  Bug isolation via remote program sampling , 2003, PLDI '03.

[16]  Dawson R. Engler,et al.  KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs , 2008, OSDI.

[17]  Haoxiang Lin,et al.  MODIST: Transparent Model Checking of Unmodified Distributed Systems , 2009, NSDI.

[18]  Ricardo Bianchini,et al.  Oasis: Concolic Execution Driven by Test Suites and Code Modifications , 2009 .

[19]  George C. Necula,et al.  CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs , 2002, CC.

[20]  Susan Hares,et al.  A Border Gateway Protocol 4 (BGP-4) , 1994, RFC.