Abstract
Importance measures of a system provide a sense of the relative priorities of the components from a system reliability, perspective. These measures call thus be used to identify, critical components and to guide the allocation of resources so that the system reliability call be improved in a cost effective manner Importance measures are widely used in many engineered hardware and electro-mechanical systems. Their use in the engineering of software systems, however, is lacking. In this paper we develop all analytical methodology to compute the importance measures of a software system. The analytical treatment facilitates all assessment of the sensitivity of the importance measures of a software system to the uncertainties in its architectural parameters, component reliabilities, and operational profiles. The capability of enabling sensitivity analysis, which is a key strength of our approach, is crucial to the adaptation of importance measures in software because the parameters characterizing a software system are inherently expected to be uncertain, especially in the design phase. We illustrate the potential of our approach to provide valuable information towards resource allocation decisions using an example application from the European Space Agency.