Diversity: A Heuristic to Improve Robustness of Self-Adaptive Cloud Architectures

In complex biological systems, the hypothesis that bio-diversity contributes to stability or robustness is an active debate. The FP7 DIVERSIFY project tests whether this hypothesis holds for software systems, and explores the use of diversity as a heuristic to increase robustness in self-adaptive architectures. Inspired by Ecology, we present here a technique to evaluate diversity of software architectures and we report preliminary investigations of its correlation with robustness. Given existing cloud-based architectures, we artificially inject predefined levels of diversity and measure the resulting robustness. In four out of our five industrial case studies, a higher diversity appeared correlated with a higher robustness.

[1]  Per Larsen,et al.  Security through Diversity: Are We There Yet? , 2014, IEEE Security & Privacy.

[2]  Nancy G. Leveson,et al.  An experimental evaluation of the assumption of independence in multiversion programming , 1986, IEEE Transactions on Software Engineering.

[3]  Siobhán Clarke,et al.  DIVERSIFY: Ecology-inspired software evolution for diversity emergence , 2014, 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE).

[4]  William G. Griswold,et al.  Citisense: Mobile air quality sensing for individuals and communities Design and deployment of the Citisense mobile air-quality system , 2012, 2012 6th International Conference on Pervasive Computing Technologies for Healthcare (PervasiveHealth) and Workshops.

[5]  Melanie Moses,et al.  Diversity and resistance in a model network with adaptive software , 2012, Security Informatics.

[6]  Jia Wang,et al.  Would Diversity Really Increase the Robustness of the Routing Infrastructure against Software Defects? , 2008, NDSS.

[7]  Goetz Botterweck,et al.  Software diversity: state of the art and perspectives , 2012, International Journal on Software Tools for Technology Transfer.

[8]  Benoit Baudry,et al.  The Multiple Facets of Software Diversity , 2014, ACM Comput. Surv..

[9]  Marjan Mernik,et al.  Exploration and exploitation in evolutionary algorithms: A survey , 2013, CSUR.

[10]  M. Hill Diversity and Evenness: A Unifying Notation and Its Consequences , 1973 .

[11]  Brice Morin,et al.  SENSAPP as a Reference Platform to Support Cloud Experiments: From the Internet of Things to the Internet of Services , 2012, 2012 14th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

[12]  Kjell Jørgen Hole,et al.  Diversity Reduces the Impact of Malware , 2015, IEEE Security & Privacy.

[13]  S. Carpenter,et al.  Stability and Diversity of Ecosystems , 2007, Science.

[14]  S. Graham,et al.  Honey Bee Nest Thermoregulation: Diversity Promotes Stability , 2004, Science.

[15]  Hui Song,et al.  CloudMF: Applying MDE to Tame the Complexity of Managing Multi-cloud Applications , 2014, 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing.

[16]  Benoit Baudry,et al.  Tailored source code transformations to synthesize computationally diverse program variants , 2014, ISSTA 2014.

[17]  Brice Morin,et al.  Towards Model-Driven Provisioning, Deployment, Monitoring, and Adaptation of Multi-cloud Systems , 2013, 2013 IEEE Sixth International Conference on Cloud Computing.

[18]  Hui Song,et al.  Robustness Indicators for Cloud-Based Systems Topologies , 2014, 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing.

[19]  Brian Randell,et al.  System structure for software fault tolerance , 1975, IEEE Transactions on Software Engineering.

[20]  K. McCann The diversity–stability debate , 2000, Nature.

[21]  Dumitru Roman,et al.  Demonstration: Sensapp - An Application Development Platform for OGC-based Sensor Services , 2011, SSN.

[22]  Stephen Taylor,et al.  Diversity in cloud systems through runtime and compile-time relocation , 2013, 2013 IEEE International Conference on Technologies for Homeland Security (HST).