Skip to main content
Log in

A technique for early prediction of software reliability based on design metrics

  • Original Article
  • Published:
International Journal of System Assurance Engineering and Management Aims and scope Submit manuscript

Abstract

In the early stages of development, it is difficult to quantitatively assess the reliability of a software product. In this context, we propose a bottom-up approach to predict the reliability of an object-oriented software from its product metrics gathered during the architectural design stage. A fault model is constructed to categorize different kinds of faults that can occur in the components making up the software product. Subsequently, the product metrics collected during the software design phase are used to estimate the expected number of different kinds of faults that may occur in a component. Eventually, these estimated values of the different kinds of faults are used to predict the expected values of the total number of faults present in the component. We use the estimated fault content of the component and the number of tests that will be performed over the component, to predict reliability of the component. We adopt a probabilistic approach, Bayesian Belief Network, for reliability prediction of the components from product metrics. Based on predicted reliabilities and usage frequencies of the components, the reliability of a system is predicted. The applicability of our proposed model is illustrated through a case study. Moreover, we performed a set of experiments and also compared our approach with an established approach reported in the literature to investigate the accuracy of our approach. Analysis of the results from our experiments suggests that our approach yields reasonably accurate result.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  • Abdelmoez W, Nassar DM, Shereshevsky M, Gradetsky N, Gunnalan R, Ammar HH, Yu B, Mili A (2004) Error propagation in software architectures. In: METRICS ’04: proceedings of 10th international symposium on the software metrics. IEEE Computer Society, Washington, DC, pp 384–393

  • Abreu FBE, Henderson-Sellers B, Piattini M, Poels G, Sahraoui HA (2002) Quantitative approaches in object-oriented software engineering. In: ECOOP ’01: proceedings of the workshops on object-oriented technology. London, UK, Springer-Verlag, pp 174–183

  • Bai CG, Hu QP, Xie M, Ng SH (2005) Software failure prediction based on a Markov Bayesian network model. J Syst Softw 74(3):275–282

    Article  Google Scholar 

  • Bansiya J, Davis CG (2002) A hierarchical model for object-oriented design quality assessment. IEEE Trans Softw Eng 28(1):4–17

    Article  Google Scholar 

  • Binder RV (1996) Testing object-oriented software: a survey. Softw Test Verif Reliab 6(3–4):125–252

    Article  Google Scholar 

  • Bishop PG (2002) Rescaling reliability bounds for a new operational profile. In: ISSTA ’02: proceedings of the 2002 ACM SIGSOFT international symposium on software testing and analysis. ACM, New York, pp 180–190

  • Cai KY, Hu DB, Bai CG, Hu H, Jing T (2008) Does software reliability growth behavior follow a non-homogeneous poisson process. Inf Softw Technol 50(12):1232–1247

    Article  Google Scholar 

  • Cheung L, Roshandel R, Medvidovic N, Golubchik L (2008) Early prediction of software component reliability. In: ICSE ’08: proceedings of the 30th international conference on software engineering. ACM, New York, pp 111–120

  • Chidamber SR, Kemerer CF (1994) A metrics suite for object oriented design. IEEE Trans Softw Eng 20(6):476–493

    Article  Google Scholar 

  • Cortellessa V, Grassi V (2007) A modeling approach to analyze the impact of error propagation on reliability of component-based systems. In: CBSE ’07: proceedings of the 10th international conference on component-based software engineering. Springer, Berlin, pp 140–156

  • Cortellessa V, Singh H, Cukic B (2002) Early reliability assessment of UML based software models. In: WOSP ’02: proceedings of the 3rd international workshop on Software and performance. ACM, New York, NY, USA, pp. 302–309

  • Dagum P, Chavez RM (1993) Approximating probabilistic inference in Bayesian belief networks. IEEE Trans Pattern Anal Mach Intell 15:246–255

    Article  Google Scholar 

  • Fenton NE, Neil M (1999) A critique of software defect prediction models. IEEE Trans Softw Eng 25(5):675–689

    Article  Google Scholar 

  • Genero M, Miranda D, Piattini M (2002) Defining and validating metrics for UML statechart diagrams. In: QAOOSE ’02: 6th international ECOOP workshop on quantitative approaches in object-oriented software engineering, pp 120–136

  • Gokhale SS, Trivedi KS (2002) Reliability prediction and sensitivity analysis based on software architecture. In: ISSRE ’02: proceedings of the 13th international symposium on software reliability engineering. IEEE Computer Society, Washington, DC, pp 64–75

  • Huang CY (2005) Performance analysis of software reliability growth models with testing-effort and change-point. J Syst Softw 76(2):181–194

    Article  Google Scholar 

  • Inoue S, Yamada S (2010) Integrable difference equations for software reliability assessment and their applications. Int J Syst Assur Eng Manag 1(1):5–10

    Article  Google Scholar 

  • Lanza M, Marinescu R, Ducasse S (2005) Object-oriented metrics in practice. Springer-Verlag New York, Inc., Secaucus

    Google Scholar 

  • Lauritzen SL, Spiegelhalter DJ (1988) Local computations with probabilities on graphical structures and their application to expert systems. J R Stat Soc B (Methodol) 50(2):157–224

    Google Scholar 

  • Magicdraw. Available at http://www.magicdraw.com/

  • Malhotra R, Kaur A, Singh Y (2010) Empirical validation of object-oriented metrics for predicting fault proneness at different severity levels using support vector machines. Int J Syst Assur Eng Manag 1(3):269–281

    Article  Google Scholar 

  • McCall JA, Randell W, Dunham J, Lauterbach L (1992) Software reliability, measurement, and testing software reliability and test integration. Tech. rep. Final Technical Report RL-TR-92-52, Rome Laboratory, Rome

  • Mohamed A, Zulkernine M (2008) On failure propagation in component-based software systems. In: QSIC ’08: proceedings of the 2008 the eighth international conference on quality software. IEEE Computer Society, Washington, DC, pp 402–411

  • Mohanta S, Vinod G, Ghosh AK, Mall R (2010) An approach for early prediction of software reliability. ACM SIGSOFT Softw Eng Notes 35(6):1–9

    Article  Google Scholar 

  • Musa J (1993) Operational profiles in software-reliability engineering. IEEE Softw 10(2):14–32

    Article  Google Scholar 

  • Netica. Available at http://www.norsys.com/

  • Offutt J, Alexander R, Wu Y, Xiao Q, Hutchinson C (2001) A fault model for subtype inheritance and polymorphism. In: ISSRE ’01: proceedings of the 12th international symposium on software reliability engineering. IEEE Computer Society, Washington, DC, pp 84–93

  • Olague HM, Etzkorn LH, Gholston S, Quattlebaum S (2007) Empirical validation of three software metrics suites to predict fault-proneness of object-oriented classes developed using highly iterative or agile software development processes. IEEE Trans Softw Eng 33(6):402–419

    Article  Google Scholar 

  • Paul D, Michael L (1993) Approximating probabilistic inference in bayesian belief networks is NP-hard. Artif Intell 60(1):141–153

    Article  MATH  Google Scholar 

  • Pearl J (1988) Probabilistic reasoning in intelligent systems: networks of plausible inference. Morgan Kaufmann Publishers, San Francisco

    Google Scholar 

  • Reussner RH, Schmidt HW, Poernomo IH (2003) Reliability prediction for component-based software architectures. J Syst Softw 66(3):241–252

    Article  Google Scholar 

  • Tripathi R, Mall R (2005) Early stage software reliability and design assessment. In: APSEC ’05: proceedings of the 12th Asia-Pacific software engineering conference. IEEE Computer Society, Washington, DC, pp 619–628

  • Yacoub SM, Cukic B, Ammar HH (1999) Scenario-based reliability analysis of component-based software. In: ISSRE ’99: proceedings of the 10th international symposium on software reliability engineering. IEEE Computer Society, Washington, DC, pp 22–31

  • Yuan C, Druzdzel MJ (2007) Generalized evidence pre-propagated importance sampling for hybrid Bayesian networks. In: Proceedings of the 22nd national conference on artificial intelligence—vol 2. AAAI Press, Vancouver, pp 1296–1302

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sirsendu Mohanta.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mohanta, S., Vinod, G. & Mall, R. A technique for early prediction of software reliability based on design metrics. Int J Syst Assur Eng Manag 2, 261–281 (2011). https://doi.org/10.1007/s13198-011-0078-1

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13198-011-0078-1

Keywords

Navigation