Engineering reliability into hybrid systems via rich design models: recent results and current directions

Software reliability techniques are aimed at reducing or eliminating failures in software systems. Reliability in software systems has traditionally been measured during or after system implementation. However, software engineering methodology lays stress on doing the "correct things" early on in the software development lifecycle in order to curb development and maintenance costs. In this paper, we argue that reliability of a software system should be assessed throughout the system's life span, starting with the software architecture level. Our research goal is to estimate the reliability of software systems in early design stages, which we believe involves the ability to reason about numerous uncertainties that exist in this stage, including uncertainty due to lack of execution artifacts. Our proposed approach is to develop techniques that will couple software architectural models with a suite of stochastic reliability estimation models and allow us to reason about these uncertainties. In this paper, we present our recent results using our technique for reliability estimation of software components at the level of software architecture. Another important part of this paper is the discussion of our ongoing research efforts and open research problems in this area

[1]  Stefan Arnborg Data Mining : Opportunities and Challenges chapter 1: A Survey of Bayesian Data Mining. , 2003 .

[2]  Frantisek Plasil,et al.  Behavior Protocols for Software Components , 2002, IEEE Trans. Software Eng..

[3]  Aditya P. Mathur,et al.  Comparison of architecture-based software reliability models , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[4]  Kateriana Goýeva-Popstojanova,et al.  Many architecture-based software reliability modelsComparison of Architecture-Based Software Reliability Models , 2001 .

[5]  Ye Wu,et al.  An architecture-based software reliability model , 1999, Proceedings 1999 Pacific Rim International Symposium on Dependable Computing.

[6]  Joanne Bechta Dugan,et al.  ESTIMATING SOFTWARE RELIABILITY FROM PROCESS AND PRODUCT EVIDENCE , 2002 .

[7]  Wenke Lee Applying data mining to intrusion detection: the quest for automation, efficiency, and credibility , 2002, SKDD.

[8]  Z. Jelinski,et al.  Software reliability Research , 1972, Statistical Computer Performance Evaluation.

[9]  Bradley R. Schmerl,et al.  Understanding tradeoffs among different architectural modeling approaches , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[10]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[11]  J. Movellan Tutorial on Hidden Markov Models , 2006 .

[12]  Sheldon M. Ross,et al.  Introduction to probability models , 1975 .

[13]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[14]  Lawrence R. Rabiner,et al.  A tutorial on hidden Markov models and selected applications in speech recognition , 1989, Proc. IEEE.

[15]  Roger C. Cheung,et al.  A User-Oriented Software Reliability Model , 1978, IEEE Transactions on Software Engineering.

[16]  Katerina Goseva-Popstojanova,et al.  Assessing uncertainty in reliability of component-based software systems , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[17]  Stefan Arnborg,et al.  A survey of Bayesian data mining , 2003 .

[18]  Hany H. Ammar,et al.  Scenario-based reliability analysis of component-based software , 1999, Proceedings 10th International Symposium on Software Reliability Engineering (Cat. No.PR00443).

[19]  Kyle Siegrist,et al.  Reliability of Systems with Markov Transfer of Control , 1988, IEEE Trans. Software Eng..

[20]  Nenad Medvidovic,et al.  Estimating software component reliability by leveraging architectural models , 2006, ICSE '06.

[21]  Ralf H. Reussner,et al.  Reliability prediction for component-based software architectures , 2003, J. Syst. Softw..

[22]  Nenad Medvidovic,et al.  Multi-view Software Component Modeling for Dependability , 2003, WADS.

[23]  Amrit L. Goel,et al.  Time-Dependent Error-Detection Rate Model for Software Reliability and Other Performance Measures , 1979, IEEE Transactions on Reliability.

[24]  Jeannette M. Wing,et al.  Specification matching of software components , 1995, TSEM.

[25]  Jeannette M. Wing,et al.  A behavioral notion of subtyping , 1994, TOPL.

[26]  Bev Littlewood,et al.  A Bayesian Reliability Growth Model for Computer Software , 1973 .