Abstract
Most of the contemporary architecture-based software reliability analysis approaches assume that a component failure leads to system failure. These approaches ignore the positive impact of error recovery methods incorporated in the components, which may allow the components to recover from propagated errors, on system reliability. Thus, the system reliability estimate produced by these approaches is pessimistic. This paper presents an approach to assess the error recovery methods embedded in the system components on system reliability, within the context of the system architecture. The proposed approach enjoys low model complexity and scalability, which fosters its application to systems with a large number of components. The results indicate that the approach identifies the critical components that should be equipped with robust error recovery mechanisms to improve system reliability efficiently.