Title :
When Does "Diversity"´ in Development Reduce Common Failures? Insights from Probabilistic Modeling
Author :
Salako, Kizito ; Strigini, Lorenzo
Author_Institution :
Centre for Software Reliability, City Univ. London, London, UK
Abstract :
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.
Keywords :
failure analysis; probability; redundancy; software fault tolerance; software maintenance; common sense judgements; design faults; development practices; diverse redundancy; failure probability reduction; fault tolerance; identify preferences; negative commonalities; negative dependences; nonindependent development processes; nonintuitive issues; positive commonalities; probabilistic modeling; procurement practices; redundant configuration; software diversity; specification corrections; Computational modeling; Correlation; Phase frequency detector; Probabilistic logic; Random variables; Reliability; Software; Common-mode failure; fault tolerance; multiversion software; probability of failure on demand; reliability; software diversity;
Journal_Title :
Dependable and Secure Computing, IEEE Transactions on
DOI :
10.1109/TDSC.2013.32