Reliability Estimation during Architectural Design

Modeling and estimating software reliability during testing is useful in quantifying the quality and dependability of the developed software systems. However, such measurements applied so late in the development process leave done little to improve the quality of the software system in a cost-effective way. Reliability, an important dependability attribute, is defined as the probability that the system performs its intended functionality under specified design limits. We argue that in order to build reliable systems, reliability (and other dependability attributes) must be “built into” the software development process. Consequently, reliability models must be adapted and enhanced to estimate the system reliability in early phases, particularly to account for uncertainties associated with the unknown operation profile of the system, and unavailability of implementation artifacts and the running system.

The field of software architecture offers advanced modeling and specification techniques that describe the functional properties of software systems. These techniques are often accompanied by advanced automated tools that enable extensive analysis of the specification, but typically lack quantification and measurements. Additionally, their relationship to dependability attributes of the modeled software system is unknown.

In this talk, we present a software architecture-based approach to estimating system reliability. The approach is applicable to early stages of development, when the implementation artifacts are not yet available and the exact operation profile is unknown. The uncertainty of the operation profile is modeled using stochastic processes with unknown parameters. The approach is compositional in nature: the overall reliability of the system is estimated as a function of the reliability of its constituent components and their (complex) interactions. In turn, the reliability of individual components is estimated using standard modeling and specification mechanisms of software architectures. Additionally, sensitivity analyses enabled by our reliability model prescribe defect mitigation strategies in a cost-effective manner.

Speaker Details

Roshanak Roshandel is a PhD candidate at the Computer Science department at the University of Southern California. She received a BS degree in Computer Science from Eastern Michigan University in 1998, and a MS in Computer Science from University of Southern California in 2002. She is a research assistant in the Software Architecture Research Group at the Center for Software Engineering under the supervision of Prof. Nenad Medvidovic. She is also a part-time software engineer with NASA’s Jet Propulsion Laboratory. Her research interests are in behavioral modeling of software architectures, software dependability modeling, and design and development of distributed data intensive systems.

Date:
Speakers:
Roshanak Roshandel
Affiliation:
University of Southern California
    • Portrait of Jeff Running

      Jeff Running