• 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