Skip to main content
Log in

Execution-history based reliability estimation for component-based software: considering reusability-ratio and interaction-ratio

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

Abstract

Component-based software engineering emphasizes ‘development by means of reuse’ and ‘development meant for reuse’. Whether the system is simple or complex one, the estimation of better reliability remains a crucial concern. The main purpose of this work is to propose a method for reliability estimation and the computation of execution time of component-based software. In this work a metric named ‘reusability-ratio’ is introduced as a factor of reliability estimation. We focus on assessing and exploring reusability of components by defining reusability-ratio for newly developed, mutated (fully-qualified as well as partially-qualified) and off-the-shelf components. On the basis of interactions among components, one more metric is defined called ‘Interaction-ratio’. Interaction-ratio is used as another factor of reliability estimation. Based on the interactions made by components, a graph is constructed, namely ‘Component-Interaction Graph’. The structure of the component-interaction graph depends on the probability of interaction of components as well as the probability of the selection of different path execution-histories. Results obtained through experimental case study conclude that the reusability compete imperative function in the reliability of the component-based applications. Pre-tested, qualified and pre-configured artefacts consume lesser time and are more reliable as compared to the new component constructs. Metrics proposed in this work are well suited to estimate the reliability of component-based software and therefore proved promising to analyze the performance of the software.

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

Similar content being viewed by others

References

  • Albrecht A, Gaffney JE (1983) Software function source line of code and development effort prediction: a software science validation. IEEE Trans Softw Eng 9:639–648

    Article  Google Scholar 

  • Basili VR (2001) Cots-based systems top 10 lists. IEEE Comput 34(5):91–93

    Article  Google Scholar 

  • Bass L, Clements P, Kazman R (1999) Software architecture in practice. Addison-Wesley, Boston

    Google Scholar 

  • Behera RK, Shukla S, Santanu Kumar Rath SK, Misra S (2018) Software reliability assessment using machine learning technique. In: ICCSA, LNCS 10964, 2018, pp 403–411

  • Bennatan EM (1992) Software project management: a practitioner’s approach. McGraw-Hill, New York

    Google Scholar 

  • Brown JR, Lipow M (1975) Testing for software reliability. In: Proceedings of 1st international conference on reliable software, Los Angeles, California, USA, pp 518–527

  • Capretz LY (2005) A new component-based software life cycle model. J Comput Sci 1(1):76–78

    Article  Google Scholar 

  • Chen J (2011) Complexity metrics for component-based software systems. International Journal of Digital Content Technology and its Applications 5(3):235–244

    Article  Google Scholar 

  • Cheung R (1980) User-oriented software reliability model. IEEE Trans Softw Eng 6(2):118–125

    Article  MATH  Google Scholar 

  • Dimri SC, Tiwari UK, Ram M (2019) Reliability estimation of component based software system with path based model. Nonlinear Stud 26(2):313–325

    MathSciNet  MATH  Google Scholar 

  • Eusgeld F, Freiling C, Reussner R (2008) Dependability metrics. LNCS 4909. Springer, Berlin, pp 104–125

    Book  Google Scholar 

  • Everett W (1999) Software component reliability analysis. In: Proceedings of IEEE symposium. application-specific systems and software engineering & technology (ASSET’99), Richardson, Texas, March 1999, pp 204–211

  • Farr W (1996) Software reliability modeling survey. Handbook of Software Reliability Engineering. McGraw Hill, New York, pp 71–117

    Google Scholar 

  • Goel AL (1985) Software reliability models: assumptions, limitations and applicability. IEEE Trans Softw Eng 11(12):1411–1423

    Article  Google Scholar 

  • Gokhale S, Lyu M, Trivedi K (1998) Reliability simulation of component based software systems. In: Proceedings of 9th international symposium on software reliability engineering (ISSRE Nov 98), Paderborn, Germany, 1998, pp 192–201

  • Goševa-Popstojanova K, Trivedi KS (2001) Architecture-based approach to reliability assessment of software systems. Perform Eval 45(2–3):179–204

    Article  MATH  Google Scholar 

  • Henry S, Kafura K (1981) Software structure metrics based on information flow. IEEE Trans Softw Eng 7(5):510–518

    Article  Google Scholar 

  • IEEE Standard 610 (1990) Glossary of software engineering terminology. IEEE Standard 610. 12-1990, New York

  • John M (1998) Software reliability engineering. McGraw-Hill, New York

    Google Scholar 

  • Kopetz H (1982) The failure fault (FF) model. In: Digest of papers FTCS-12, IEEE, 1982, pp 14–17

  • Krishnamurthy S, Mathur AP (1997) On the estimation of reliability of a software system using reliabilities of its components. In: Proceedings of 8th international symposium on software reliability engineering (ISSRE’97), Albuquerque, New Mexico, pp 146–155

  • Kubat P (1989) Assessing reliability of modular software. Oper Res Lett 8:35–41

    Article  MathSciNet  MATH  Google Scholar 

  • Kumari U, Bhasin S (2011) A composite complexity measure for component-based systems. ACM SIGSOFT Softw Eng Notes 36(6):1–5

    Article  Google Scholar 

  • Li Q, Pham H (2017) NHPP software reliability model considering the uncertainty of operating environments with imperfect debugging and testing coverage. Appl Math Model 51:68–85

    Article  MathSciNet  MATH  Google Scholar 

  • Littlewood B (1975) A reliability model for systems with markov structure. Appl Stat 24(2):172–177

    Article  MathSciNet  Google Scholar 

  • Littlewood B, Strigini L (1993) Validation of ultra-high dependability for software-based systems. Commun ACM 36(11):69–80

    Article  Google Scholar 

  • Lyu MR (1996) Handbook of software reliability engineering. IEEE Computer Society Press, McGraw-Hill, New York

    Google Scholar 

  • Malaiya YK, Li MN, Bieman JM, Karcich R (2002) Software reliability growth with test coverage. IEEE Trans Reliabil 51(4):420–426

    Article  Google Scholar 

  • Misra KB (1992) Reliability analysis and prediction. Elsevier, Amsterdam

    MATH  Google Scholar 

  • Park J, Baik J (2015) Improving software reliability prediction through multi-criteria based dynamic model selection and combination. J Syst Softw 101:236–244

    Article  Google Scholar 

  • Ramamoorthy CV, Bastani FB (1982) Software reliability-status and perspectives. IEEE Trans Softw Eng 8(4):354–371

    Article  Google Scholar 

  • Sanyal S, Shah V, Bhattacharya S (1997) Framework of a software reliability engineering tool. In: Proceedings of IEEE high-assurance systems engineering workshop (HASE’97), Washington, DC, 1997, pp 114–119

  • Shaw M, Garlan D (1996) Software architectures: perspectives on an emerging discipline. Prentice Hall, Upper Saddle River

    MATH  Google Scholar 

  • Shepperd M (1988) A critique of cyclomatic complexity as software metric. Softw Eng J 3(2):30–36

    Article  Google Scholar 

  • Shooman M (1997) Structural models for software reliability prediction. In: Proceedings of 2nd international conference on software engineering, San Francisco, CA, 1997, pp 268–280

  • Singh H, Cortellessa, Cukic B, Gunel E, Bharadwaj V (2001) A Bayesian approach to reliability prediction and assessment of component based systems. In: 12th IEEE international symposium on software reliability engineering, Hong Kong, Nov. 2001, pp. 12–21

  • Thayer TA, Lipow M, Nelson EC (1976) Software reliability study report. TADC-TR-76-238

  • Tiwari U, Kumar S (2014) Cyclomatic complexity for component based software. ACM SIGSOFT Softw Eng Notes 39(1):1–6

    Article  Google Scholar 

  • Vitharana P (2003) Design retrieval and assembly in component-based software development. Commun ACM 46(11):97–102

    Article  Google Scholar 

  • Xie M, Wohlin C (1995) An additive reliability model for the analysis of modular software failure data. In: Proceedings of 6th international symposium on software reliability engineering (ISSRE’95), 1995, pp 188–194

  • Yacoub S, Cukic B, Ammar H (2004) A scenario-based reliability analysis approach for component based software. IEEE Trans Reliabil 53(4):465–480

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Umesh Kumar Tiwari.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Tiwari, U.K., Kumar, S. & Matta, P. Execution-history based reliability estimation for component-based software: considering reusability-ratio and interaction-ratio. Int J Syst Assur Eng Manag 11, 1003–1019 (2020). https://doi.org/10.1007/s13198-020-01035-1

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13198-020-01035-1

Keywords

Navigation