Research>Modeling

Home

Curriculum

Research

Resources

Societies

Faculty

Links

Alumni

Site Map

Contact Us

 

MD_Bar.gif (953 bytes)

Software Reliability Modeling Research at University of Maryland

 

 

 

 

General Information:

The research on software reliability models tries to answer such a question as “Which of the software reliability models currently existing is the best for my application?” The research followed two stages:
Stage I
Analogous to the study of the software metrics, we conducted a ranking process to answer the above question. Eighteen widespread software reliability models were selected as candidates for the ranking process. A set of ranking criteria similar as that used in metrics ranking process were used in this ranking process. In this study the software reliability models were classified into the following four categories: reliability growth models, input domain models, architectural models and early prediction models.  The first class captures failure behavior during testing and extrapolates it to behavior during operation. Hence this category of models uses failure data information and trends observed in the failure data to derive reliability predictions.  The second category of models uses properties of the input domain of the software to derive a correctness probability estimate from test cases that executed properly. The third class of models puts emphasis on the architecture of the software and derives reliability estimates by combining estimates obtained for the different modules of the software. Finally, the fourth category of models uses characteristics of the software development process from requirements to test and extrapolates this information to behavior during operation.
Stage II
The second stage of this study was initiated with a thorough survey of recently developed (until 2000) software reliability models. Over one hundred software reliability models were culled from the literature and analyzed. A new 3-dimensions classification was proposed to better reflect the inner relationship between models. However, up to date, the above question still remains unresolved.

TOP

 



 Publications :

  • SMIDTS C., SOVA D., “A Software Reliability Quantification Framework for Verification and Validation”, Proceedings of the 3rd ISSAT Conference (Los Angles, California, March 1997).  (Invited)

  • STUTZKE M.,ARGARWAL M., SMIDTS C., “A Stochastic Model of Human Error  in Software Development”, Proceedings of   PSAM ‘4 ( New York, 1998).

  • DROGUETT E.L., MOSLEH A., SMIDTS C., “Identification and Quantification of Software Dependencies in Reliability Models”,  Proceedings of  PSAM’4 ( New York, 1998).

TOP



Abstracts :
 

  • SMIDTS C., STODDARD R.W., STUTZKE M., “Software Reliability Models: An Approach to Early Reliability Prediction”, IEEE Transactions on Reliability, 47(3), 268- 278 (1998).

Models for predicting software reliability in the early phases of development are of paramount importance since they provide early identification of cost overruns, software development process issues, optimal development strategies, etc. A few models geared towards early reliability prediction, applicable to well defined domains, have been developed during the 1990s. However, many questions related to early prediction are still open, and more research in this area is needed, particularly for developing a generic approach to early reliability prediction. This paper presents an approach to predicting software reliability based on a systematic identification of software process failure modes and their likelihood. A direct consequence of the approach and its supporting data collection efforts is the identification of weak areas in the software development process. A Bayes framework for the quantification of software process failure mode probabilities can be useful since it allows use of historical data that are only partially relevant to the software at hand. The key characteristics of the approach should apply to other software-development life-cycles and phases. However, it is unclear how difficult the implementation of the approach would be, and how accurate the predictions would be. Further research will help answer these questions.

  List

  • SMIDTS C., SOVA D., “An Architectural Model for Software Reliability Quantification: Sources of Data”, Reliability Engineering and System Safety, 64,  279-290 (1999).

Software reliability assessment models in use today treat software as a monolithic block. An aversion towards "atomic" models seems to exist. These models appear to add complexity to the modeling, to the data collection and seem intrinsically difficult to generalize. In 1997, the authors introduced an architecturally based software reliability model called FASRE. The model is based on an architecture derived from the requirements which captures both functional and nonfunctional requirements and on a generic classification of functions, attributes and failure modes. The model focuses on evaluation of failure mode probabilities and uses a Bayesian quantification framework. Failure mode probabilities of functions and attributes are propagated to the system level using fault trees. It can incorporate any type of prior information such as results of developers' testing, historical information on a specific functionality and its attributes, and is ideally suited for reusable software. By building an architecture and deriving its potential failure modes, the model forces early appraisal and understanding of the weaknesses of the software, allows reliability analysis of the structure of the system, provides assessments at a functional level as well as at a systems' level. In order to quantify the probability of failure (or the probability of success) of a specific element of their architecture, data are needed. The term element of the architecture is used here in its broadest sense to mean a single failure mode or a higher level of abstraction such as a function. The paper surveys the potential sources of software reliability data available during software development. Next the mechanisms for incorporating these sources of relevant data to the FASRE model are identified.
 

List

  • STUTZKE M., SMIDTS C., “A Stochastic Model of Human Error During Software Development,” IEEE Transactions on Reliability, accepted for publication (1999).

Software-based digital systems are progressively replacing analog systems in safety-critical applications like nuclear power plants. Although they must Most existing software reliability models estimate the failure intensity function during dynamic testing. While these models are useful engineering tools, they can not be applied to earlier life-cycle phases where pay-off is maximum in terms of avoiding later failures. Few models have been developed to capture phenomena occurring early in the life cycle and their impact on reliability and much research effort is still needed in this area. Our previous research efforts have led to the development of a stochastic model, which relates human errors committed during software development and debugging activities to the software failure intensity function. The software development schedule and other influencing factors (e.g., experience, schedule pressure, etc.) were used to predict human error rates. The model is based on several assumptions. In particular, it is assumed that repair is instantaneous. The present paper attempts to remove this assumption and assesses the impact of repair times on previous findings.

List

  • SMIDTS C., STODDARD R.W., STUTZKE M., “Software Reliability Models: An    Approach to Early Reliability Prediction”, Proceedings of  ISSRE ‘96, (New Jersey, November 1996).

Software reliability prediction models are of paramount importance since they provide early identification of cost overruns, software development process issues, optimal development strategies, etc. Existing prediction models were developed mostly during the past 5 to 10 years and, hence, have become obsolete. Furthermore, they are not based on a deep knowledge and understanding of the software development process. This limits their predictive power. This paper presents an approach to the prediction of software reliability based on a systematic identification of software process failure modes and their likelihoods. A direct consequence of the approach and its supporting data collection efforts is the identification of weak areas in the software development process. A Bayesian framework for the quantification of software process failure mode probabilities is recommended since it allows usage of historical data that are only partially relevant to the software at hand. The approach is applied to the requirements analysis phase.

List  
 

  • SMIDTS C., “A Stochastic Model of Human Error in Software Development: Impact  of  Repair Times”, to be published in the Proceedings of  ISSRE’99, International Symposium on Software Reliability Engineering (Boca Raton, Florida, 1999).

Most existing software reliability models estimate the failure intensity function during dynamic testing. While these models are useful engineering tools, they can not be applied to earlier life-cycle phases where pay-off is maximum in terms of avoiding later failures. Few models have been developed to capture phenomena occurring early in the life cycle and their impact on reliability and much research effort is still needed in this area. Our previous research efforts have led to the development of a stochastic model, which relates human errors committed during software development and debugging activities to the software failure intensity function. The software development schedule and other influencing factors (e.g., experience, schedule pressure, etc.) were used to predict human error rates. The model is based on several assumptions. In particular, it is assumed that repair is instantaneous. The present paper attempts to remove this assumption and assesses the impact of repair times on previous findings.

  MD_Bar.gif (953 bytes)

Last Updated Wednesday, December 19, 2001
©2001 University of Maryland (UMD). All rights reserved
Best viewed by IE 5,5 and 800*600 resolution.