The Multiple Facets of Software Diversity: Recent Developments in Year 2000 and Beyond
arXiv:1409.7324 · doi:10.1145/2807593
Abstract
Early experiments with software diversity in the mid 1970's investigated N-version programming and recovery blocks to increase the reliability of embedded systems. Four decades later, the literature about software diversity has expanded in multiple directions: goals (fault-tolerance, security, software engineering); means (managed or automated diversity) and analytical studies (quantification of diversity and its impact). Our paper contributes to the field of software diversity as the first paper that adopts an inclusive vision of the area, with an emphasis on the most recent advances in the field. This survey includes classical work about design and data diversity for fault tolerance, as well as the cybersecurity literature that investigates randomization at different system levels. It broadens this standard scope of diversity, to include the study and exploitation of natural diversity and the management of diverse software products. Our survey includes the most recent works, with an emphasis from 2000 to present. The targeted audience is researchers and practitioners in one of the surveyed fields, who miss the big picture of software diversity. Assembling the multiple facets of this fascinating topic sheds a new light on the field.
Cited by in corpus (8)
- Correctness Attraction: A Study of Stability of Software Behavior Under Runtime Perturbation
- CROW: Code Diversification for WebAssembly
- Improving ICS Cyber Resilience through Optimal Diversification of Network Resources
- Inherent Diversity in Replicated Architectures
- Automatic Software Diversity in the Light of Test Suites
- Constraint-based Diversification of JOP Gadgets
- Diversity-By-Design for Dependable and Secure Cyber-Physical Systems: A Survey
- Highly Available Blockchain Nodes With N-Version Design