ON COMPONENT DEPENDENCIES IN COMPOUND SOFTWARE
Monica Kristiansen, Rune Winther, Bent Natvig · International Journal of Reliability Quality and Safety Engineering · 2010
Predicting the reliability of software systems based on a component approach is inherently difficult, in particular due to failure dependencies between the software components. Since it is practically difficult to include all component dependencies in a system's reliability calculation, a more viable approach would be to include only those dependencies that have a significant impact on the assessed system reliability. This paper starts out by defining two new concepts: data-serial and data-parallel components. Then, this paper illustrates how the components' marginal reliabilities put direct restrictions on the components' conditional probabilities, and proves that the degrees of freedom are much fewer than first anticipated when it comes to conditional probabilities. At last, a test system, consisting of five components, is investigated to identify possible rules for selecting the most important component dependencies. To do this, three different techniques are applied: (1) direct calculation, (2) Birnbaum's measure and (3) Principal Component Analysis (PCA). The results from the analyses clearly show that including partial dependency information may give substantial improvements in the reliability predictions, compared to assuming independence between all software components. The analyses also indicate that including only dependencies between data-parallel components may give predictions close to the system's true failure probability, as long as the dependency between the most unreliable components is included. Including only dependencies between data-serial components may however result in predictions even worse than by assuming independence between all software components.