Issue No. 02 - March-April (2014 vol. 11)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TDSC.2013.32
Kizito Salako , Centre for Software Reliability, City Univ. London, London, UK
Lorenzo Strigini , Centre for Software Reliability, City Univ. London, London, UK
Fault tolerance via diverse redundancy, with multiple "versions" of a system in a redundant configuration, is an attractive defence against design faults. To reduce the probability of common failures, development and procurement practices pursue "diversity" between the ways the different versions are developed. But difficult questions remain open about which practices are more effective to this aim. About these questions, probabilistic models have helped by exposing fallacies in "common sense" judgements. However, most make very restrictive assumptions. They model well scenarios in which diverse versions are developed in rigorous isolation from each other: A condition that many think desirable, but is unlikely in practice. We extend these models to cover nonindependent development processes for diverse versions. This gives us a rigorous way of framing claims and open questions about how best to pursue diversity, and about the effects - negative and positive - of commonalities between developments, from specification corrections to the choice of test cases. We obtain three theorems that, under specific scenarios, identify preferences between alternative ways of seeking diversity. We also discuss nonintuitive issues, including how expected system reliability may be improved by creating intentional "negative" dependences between the developments of different versions.
Phase frequency detector, Software, Reliability, Random variables, Computational modeling, Correlation, Probabilistic logic
Kizito Salako, Lorenzo Strigini, "When Does "Diversity"' in Development Reduce Common Failures? Insights from Probabilistic Modeling", IEEE Transactions on Dependable and Secure Computing, vol. 11, no. , pp. 193-206, March-April 2014, doi:10.1109/TDSC.2013.32