What ecologists can teach computer experts about diversity
Achieving diversity in web-based software applications is not only feasible but desirable, according to a recent study. Published in December 2014, ‘Multi-tier diversification in Web-based software applications’(opens in new window) argues that moving away from the current web application ‘monoculture’ will protect users from bugs and viruses and make the internet a safer place to operate. The report was published as part of the EU-funded DIVERSIFY project. Launched in February 2013, this innovative project brings together researchers from the domains of software-intensive distributed systems and ecology, in order to translate ecological concepts and processes into software design principles. For example, just as bees get pollen from flowers, software users obtain access to information from a central server through their device. In nature, diversity is essential to ensuring a robust ecosystem; if one species of plant dies for example then pollen will be available from another species. In the world of software however, there is a great deal less diversity. A growing monoculture in web applications has emerged from the success of a few frameworks and libraries. These reusable components are essential to support the engineering of large applications, but also create vulnerabilities that are associated with monoculture. While this monoculture can be good for maintenance purposes, it also means that bugs and viruses can lead to complete system failure, as there are no alternative means of sourcing data available. The limited amount of diversity in software has become a growing security concern. The challenge for the DIVERSIFY team has been to find new ways of adapting web applications in order to achieve greater diversity. Higher levels of diversity in the system will provide a pool of software solutions that can eventually be used to adapt to unforeseen situations. By establishing novel principles and techniques to increase software diversity levels, DIVERSIFY aims to lay the groundwork for safer, more robust computing. Working in partnership with computer experts, the consortium's ecology group is driving the transfer of ecological processes to software. The project team has also developed a web app simulator in order to test software diversity and establish empirical knowledge about ecology-inspired software engineering. Experiments have helped to highlight the challenges ahead for software engineers, if they want to systematically break the application monoculture of web applications. Spontaneous diversification in software systems is favoured in order to increase adaptive capacities. Evolution drives diversity as a means of increasing resilience in ecological systems. In the same way, software has to constantly evolve in order to face unpredictable changes in requirements, and to respond to unexpected failure (bugs, cyber attacks, etc.). The emergence and maintenance of high levels of diversity are therefore essential if complex software systems are to be able to adapt. The DIVERSIFY project is scheduled for completion in January 2016. For further information please visit: DIVERSIFY http://diversify-project.eu/(opens in new window)
Countries
France