DocumentCode
82765
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
Volume
11
Issue
2
fYear
2014
fDate
March-April 2014
Firstpage
193
Lastpage
206
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;
fLanguage
English
Journal_Title
Dependable and Secure Computing, IEEE Transactions on
Publisher
ieee
ISSN
1545-5971
Type
jour
DOI
10.1109/TDSC.2013.32
Filename
6579596
Link To Document