login

Software diversity: practical statistics for its measurement and exploitation

Information and Software TechnologyPublished 1 January 1997
Derek Partridge, W. J. Krzanowski
Citations151
SJR quartileQ1
SJR score1.04
SNIP2.15

TL;DR

This paper develops, define, illustrate and assess diversity measures, voting strategies for diversity exploitation, and interactions between the two, and introduces inductive programming techniques, particularly neural computing, as a cost-effective route to the practical use of multiversion systems outside the demanding requirements of safety-critical systems.

Abstract

The topic of this paper is the exploitation of diversity to enhance computer system reliability. It is well established that a diverse system composed of multiple alternative versions is more reliable than any single version alone, and this knowledge has occasionally been exploited in safety-critical applications. However, it is not clear what this property is, nor how the available diversity in a collection of versions is best exploited. We develop, define, illustrate and assess diversity measures, voting strategies for diversity exploitation, and interactions between the two. We take the view that a proper understanding of such issues is required if multiversion software engineering is to be elevated from the current "try it and see" procedure to a systematic technology. In addition, we introduce inductive programming techniques, particularly neural computing, as a cost-effective route to the practical use of multiversion systems outside the demanding requirements of safety-critical systems, i.e. in general software engineering.

Keywords

Computer Science