Skip to main content
Log in

Model of Open Source Software Reliability with Fault Introduction Obeying the Generalized Pareto Distribution

  • Research Article-Computer Engineering and Computer Science
  • Published:
Arabian Journal for Science and Engineering Aims and scope Submit manuscript

Abstract

Open source software reliability is an important factor affecting the quality of open source software. The developed reliability models of open source software cannot meet the actual evaluation of open source software reliability because of the complexity, dynamics, and uncertainty of open source software development. Considering the dynamic changes of fault introduction in open source software development, we propose an open source software reliability model with fault introduction based on the generalized Pareto distribution. We use three Apache open source software projects to validate the proposed model. Least squares estimation is used to estimate the model parameter values. Experimental results indicate that the proposed model has better fitting and predictive performance than other existing models. The generalized Pareto distribution of the fault introduction is consistent with that in actual open source software development. Thus, the proposed model can assist developers and managers in evaluating the reliability of open source software in the actual process of open source software development.

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.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  1. Raymond, E.S.: The cathedral and the bazaar: musings on linux and open source by an accidental revolutionary, p. 2. Sebastopol, O’Reilly (2001)

    Google Scholar 

  2. Michlmayr, M.; Fitzgerald, B.; Stol, K.J.: Why and how should open source projects adopt time-based releases? IEEE Softw. 32(2), 55–63 (2015)

    Article  Google Scholar 

  3. Singh, V.B.; Singh, G.P.; Kumar, R. et al.: A generalized reliability growth model for open source software. In: International Conference on Reliability. IEEE (2011)

  4. Li, X.; Li, Y.F.; Xie, M.; Ng, S.H.: Reliability analysis and optimal version-updating for open source software. Inf. Softw. Technol. 53(9), 929–936 (2011)

    Article  Google Scholar 

  5. Huang, C.Y.; Kuo, C.S.; Luan, S.P.: Evaluation and application of bounded generalized pareto analysis to fault distributions in open source software. IEEE Trans. Reliab. 63(1), 309–319 (2014)

    Article  Google Scholar 

  6. Liu, Y.; Xie, M.; Yang, J. et al.: A new framework and application of software reliability estimation based on fault detection and correction processes. In: 2015 IEEE international conference on software quality, reliability and security. IEEE (2015)

  7. Yang, J.; Yu, L.; Min, X., et al.: Modeling and analysis of reliability of multi-release open source software incorporating both fault detection and correction processes. J. Syst. Softw. 115(C), 102–110 (2016)

    Article  Google Scholar 

  8. Singh, V.B.; Sharma, M.; Pham, H.: Entropy based software reliability analysis of multi-version open source software. IEEE Trans. Softw. Eng. 44, 1207–1223 (2018)

    Article  Google Scholar 

  9. Zhu, M.; Pham, H.: A multi-release software reliability modeling for open source software incorporating dependent fault detection process. Ann. Oper. Res. 2, 1–18 (2017)

    MATH  Google Scholar 

  10. Wang, J.; Mi, X.: Open source software reliability model with the decreasing trend of fault detection rate. Comput. J. 62(9), 1301–1312 (2018)

    Article  Google Scholar 

  11. Raghuvanshi, K.K.; Sharma, M.; Tandon, A. et al.: Quantitative quality assessment of open source software by considering new features and feature improvements. computational science and its applications—ICCSA 2018. Springer, Cham (2018).

  12. Andersson, D.; Runeson, P.: A replicated quantitative analysis of fault distributions in complex software systems. IEEE Trans. Softw. Eng. 33(6), 273–286 (2007)

    Article  Google Scholar 

  13. Zhou, Y.; Davis, J.: Open source software reliability model: an empirical approach. In: Proceedings of the Fifth Workshop on Open Source Software Engineering. New York: ACM, 2005: 1–6.

  14. Goel, A.L.; Okumoto, K.: Time-dependent error-detection rate model for software reliability and other performance measures. IEEE Trans. Reliab. R28, 206–211 (1979)

    Article  Google Scholar 

  15. Yamada, S.; Ohba, M.; Osaki, S.: S-shaped reliability growth modeling for software error detection. IEEE Trans. Reliab. R-32, 475–484 (1983)

    Article  Google Scholar 

  16. Ohba, M.: Inflection S-shaped software reliability growth model. Stochastic models in reliability theory, p. 144–162. Springer, Berlin (1984)

    Book  Google Scholar 

  17. Yamada, S.; Tokuno, K.; Osaki, S.: Imperfect debugging models with fault introduction rate for software reliability assessment. Int. J. Syst. Sci. 23(12), 2241–2252 (1992)

    Article  Google Scholar 

  18. Pham, H.; Zhang, X.: An NHPP software reliability models and its comparison. Int. J. Rel. Qual. Saf. Eng. 14(3), 269–282 (1997)

    Article  Google Scholar 

  19. Pham, H.; Nordmann, L.; Zhang, X.M.: A general imperfect software-debugging model with S-shaped fault-detection rate. IEEE Trans. Reliab. 48(2), 169–175 (1999)

    Article  Google Scholar 

  20. Tamura, Y.; Yamada, S.: Software reliability growth model based on stochastic differential equations for open source software. In: Proceedings of the 4th IEEE international conference on mechatronics, Kumamoto, 8–10 May 2007, CD-ROM (ThM1-C-1)

  21. Kuo, C.S.; Huang, C.Y.; Luan, S.P.: A study of using two-parameter generalized pareto model to analyze the fault distribution of open source software. In: 2012 IEEE Sixth International Conference on Software Security and Reliability. IEEE (2012)

  22. Luan, S.P.; Huang, C.Y.: An improved Pareto distribution for modelling the fault data of open source software. Softw. Test. Verif. Reliab. 24(6), 416–437 (2014)

    Article  Google Scholar 

  23. Peng, R.; Li, Y.F.; Liu, Y.: Reliability of multi-release open-source software—Software Fault Detection and Correction: Modeling and Applications, p. 75–94. Springer, Singapore (2018)

    Google Scholar 

  24. Garmabaki, H.S.; Barabadi, A.; Yuan, F. et al.: Reliability modeling of successive release of software using NHPP. In: Proceedings of 2015 IEEE International Conference on Industrial Engineering and Engineering Management (IEEM). IEEE, pp. 761–766 (2015)

  25. Nijhawan, N.; Aggarwal, A.G.; Dhaka, V.: An SRGM for multi-release open source software system. Int. J. Innov. Technol. Manag. 15(02), 18500110–1185001120 (2018)

    Article  Google Scholar 

  26. Aggarwal, G.; Dhaka, V.; Nijhawan, N., et al.: Reliability growth analysis for multi-release open source software systems with change point. System performance and management analytics, p. 125–137. Singapore, Springer (2019)

    Google Scholar 

  27. Aggarwal, A.G.: Multi release reliability growth modeling for open source software under imperfect debugging. System performance and management analytics, p. 77–86. Singapore, Springer (2019)

    Google Scholar 

  28. Tandon, A.; Aggarwal, A.G.: Testing coverage based reliability modeling for multi-release open-source software incorporating fault reduction factor. Life Cycle Reliab. Saf. Eng. 9, 425–435 (2020)

    Article  Google Scholar 

  29. Pickands, J.: Statistical inference using extreme order statisics. Ann. Stat. 3, 119–131 (1975)

    Article  MathSciNet  Google Scholar 

  30. Hosking, J.R.M.; Wallis, J.R.: Parameter and quantile estimation for the generalized pareto distribution. Technometrics 29(3), 339–349 (1987)

    Article  MathSciNet  Google Scholar 

  31. Sharma, K.; Garg, R.; Nagpal, C.K., et al.: Selection of optimal software reliability growth models using a distance based approach. IEEE Trans. Reliab. 59(2), 266–276 (2010)

    Article  Google Scholar 

  32. Huang, C.Y.; Lyu, M.R.: Estimation and analysis of some generalized multiple change-point software reliability models. IEEE Trans. Reliab. 60(2), 498–514 (2011)

    Article  Google Scholar 

  33. Castillo, E.; Hadi, A.S.: Fitting the generalized pareto distribution to data. Publ. Am. Stat. Assoc. 92(440), 1609–1620 (1997)

    Article  MathSciNet  Google Scholar 

  34. Erto, P.; Giorgio, M.; Lepor, A.: The generalized inflection S-shaped software reliability growth model. IEEE Trans. Reliab. 69(1), 228–244 (2018)

    Article  Google Scholar 

  35. Goel, A.L.: Software reliability models: assumptions, limitations and applicability. IEEE Trans. Softw. Eng. SE-11(12), 1411–1423 (1985)

    Article  Google Scholar 

Download references

Acknowledgments

This work is supported by the Natural Science Foundation of Shanxi Province of China under Grant No. 201801D121120.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jinyong Wang.

Appendix A

Appendix A

$$ \left\{ {\begin{array}{*{20}l} {\frac{{dM(t)}}{{dt}} = B(t)(A(t) - M(t))} \hfill \\ {A(t) = AF(t) + C} \hfill \\ {F(t) = 1 - \left( {1 - \frac{{\beta t}}{\gamma }} \right)^{{\frac{1}{\beta }}} \quad \beta \ne 0} \hfill \\ \end{array} } \right.$$
(A.1)

Given G(t) = \( \int_{0}^{t} {B(x){\text{d}}x} \) as B(x) = \( \frac{b}{{1 + \mu \exp ( - bx)}} \), then

\( \exp [G(t)] = \frac{{\mu + \exp (bt)}}{{1 + \mu }} \).

Equation (A.1) can be transferred as follows:

$$ \begin{gathered} \exp [G(t)]{\text{d}}M(t) + B(t)\exp [G(t)]M(t){\text{d}}t = B(t)\exp [G(t)]A(t){\text{d}}t \hfill \\ \int {{\text{d}}(\exp [G(t)]M(t))} = \int {B(t)\exp [G(t)]A(t){\text{d}}t} \hfill \\ \exp [G(t)]M(t) = \int {A(t){\text{d}}(\exp [G(t)])} \hfill \\ \end{gathered} $$
$$ \begin{aligned} M(t) & = (\exp [G(t)]A(t) - \int {\exp [G(t)]{\text{d}}(A(t))} )/\exp [G(t)] \\ & = A(t) - \int {\exp [G(t)]{\text{d}}(A(t))} /\exp [G(t)] \\ & = A(t) - \left( {\frac{{1 + \mu }}{{\mu + \exp (bt)}}} \right)\int {\left( {\frac{{\mu + \exp (bt)}}{{1 + \mu }}} \right){\text{d}}(A(t))} \\ & = A(t) - \left( {\frac{1}{{\mu + \exp (bt)}}} \right)\int {(\mu + \exp (bt)){\text{d}}(A(t))} \\ & = A(t) - \frac{{\mu A(t)}}{{\mu + \exp (bt)}} - \frac{1}{{\mu + \exp (bt)}}\int {\exp (bt){\text{d}}(A(t))} \\ & = \frac{{A(t)}}{{1 + \mu \exp ( - bt)}} - \frac{1}{{\mu + \exp (bt)}}\int {\exp (bt){\text{d}}(A(t))} \\ \end{aligned} $$
$$ \begin{array}{*{20}l} {{\text{d}}(A(t)) = A\gamma ^{{ - 1}} \left( {1 - \frac{{\beta t}}{\gamma }} \right)^{{\frac{1}{\beta } - 1}} {\text{d}}t} & {\beta \ne 0} \\ \end{array} $$

Expansion according to Taylor's formula

$$ \exp (bt) = \sum\limits_{{i = 0}}^{n} {\frac{{b^{i} t^{i} }}{{i!}}} $$
$$ \begin{aligned} \left( {1 - \frac{{\beta t}}{\gamma }} \right)^{{\frac{1}{\beta } - 1}} & = 1 - (1 - \beta )\gamma ^{{ - 1}} t + (1 - \beta )(1 - 2\beta )\gamma ^{{ - 2}} t^{2} \\ & \quad + \cdots + ( - 1)^{n} (1 - \beta )(1 - 2\beta ) \cdots (1 - n\beta )\gamma ^{{ - n}} t^{n} \\ & = 1 - (1 - \beta )\gamma ^{{ - 1}} t + (1 - \beta )(1 - 2\beta )\gamma ^{{ - 2}} t^{2} \\ & \quad + \cdots + ( - 1)^{n} \left( {\prod\limits_{{j = 0}}^{n} {(1 - j\beta )} } \right)\gamma ^{{ - n}} t^{n} \\ \end{aligned} $$

then

$$ M(t) = \frac{{A(t)}}{{1 + \mu \exp ( - bt)}} - \frac{{A\gamma ^{{ - 1}} }}{{\mu + \exp (bt)}}\int {\left( {\sum\limits_{{i = 0}}^{n} {\frac{{b^{i} t^{i} }}{{i!}}} } \right)} \left( {1 - \frac{{\beta t}}{\gamma }} \right)^{{\frac{1}{\beta } - 1}} {\text{d}}t $$
$$ \begin{aligned} M(t) & = \frac{{A(t)}}{{1 + \mu \exp ( - bt)}} - \frac{{A\gamma ^{{ - 1}} }}{{\mu + \exp (bt)}}\int {\left( {\sum\limits_{{i = 0}}^{n} {\frac{{b^{i} t^{i} }}{{i!}}} } \right)} \left( {1 - {\text{(1}} - \beta {\text{)}}\gamma ^{{ - 1}} t} \right. \\ & \quad + (1 - \beta )(1 - 2\beta )\gamma ^{{ - 2}} t^{2} + \cdots + \\ & \quad ( - 1)^{n} (1 - \beta )(1 - 2\beta ) \cdots (1 - n\beta )\gamma ^{{ - n}} t^{n} ){\text{d}}t \\ \end{aligned} $$
$$ \begin{aligned} M(t) & = \frac{{A(t)}}{{1 + \mu \exp ( - bt)}} - \frac{{A\gamma ^{{ - 1}} }}{{\mu + \exp (bt)}}\left( {\int {\sum\limits_{{i = 0}}^{n} {\frac{{b^{i} t^{i} }}{{i!}}{\text{d}}t - \int {\sum\limits_{{i = 0}}^{n} {\frac{{b^{i} \gamma ^{{ - 1}} (1 - \beta )t^{{i + 1}} }}{{i!}}{\text{d}}t} } } } } \right. \\ & \quad + \cdots + ( - 1)^{n} \int {\sum\limits_{{i = 0}}^{n} {\frac{{b^{i} \gamma ^{{ - n}} (\prod\limits_{{j = 0}}^{n} {(1 - j\beta ))} t^{{i + n}} }}{{i!}}{\text{d}}t} } ) \\ \end{aligned} $$
$$ \begin{gathered} M(t) = \frac{{A(t)}}{{1 + \mu \exp ( - bt)}} - \frac{{A\gamma ^{{ - 1}} }}{{\mu + \exp (bt)}}\left( {\sum\limits_{{i = 0}}^{n} {\frac{{b^{i} t^{{i + 1}} }}{{i!(i + 1)}}} - \sum\limits_{{i = 0}}^{n} {\frac{{b^{i} \gamma ^{{ - 1}} (1 - \beta )t^{{i + 2}} }}{{i!(i + 2)}}} {\text{ + }}} \right. \hfill \\ \quad \sum\limits_{{i = 0}}^{n} {\frac{{b^{i} \gamma ^{{ - 2}} (1 - \beta )(1 - 2\beta )t^{{i + 3}} }}{{i!(i + 3)}}} \hfill \\ \left. {\quad + \cdots + ( - 1)^{n} \sum\limits_{{i = 0}}^{n} {\frac{{b^{i} \gamma ^{{ - n}} \prod\limits_{{j = 0}}^{n} {(1 - j\beta )} t^{{i + n + 1}} }}{{i!(i + n + 1)}}} + C_{1} } \right) \hfill \\ \end{gathered} $$

When t = 0, M(t) = 0.

$$ C_{1} = A^{{ - 1}} C\gamma $$
$$ \begin{aligned} M(t) = \frac{{A(t)}}{{1 + \mu \exp ( - bt)}} - \frac{{A\gamma ^{{ - 1}} }}{{\mu + \exp (bt)}}\left( {\sum\limits_{{i = 0}}^{n} {\frac{{b^{i} t^{{i + 1}} }}{{i!(i + 1)}}} - \sum\limits_{{i = 0}}^{n} {\frac{{b^{i} \gamma ^{{ - 1}} (1 - \beta )t^{{i + 2}} }}{{i!(i + 2)}}} } \right. \\ \quad + \sum\limits_{{i = 0}}^{n} {\frac{{b^{i} \gamma ^{{ - 2}} (1 - \beta )(1 - 2\beta )t^{{i + 3}} }}{{i!(i + 3)}}} + \cdots \\ \left. { \quad + ( - 1)^{n} \sum\limits_{{i = 0}}^{n} {\frac{{b^{i} \gamma ^{{ - n}} \left( {\prod\limits_{{j = 0}}^{n} {(1 - j\beta )} } \right)t^{{i + n + 1}} }}{{i!(i + n + 1)}}} + A^{{ - 1}} C\gamma } \right) \\ = \frac{{A(t)}}{{1 + \mu \exp ( - bt)}} \\ \quad - \frac{{A\gamma ^{{ - 1}} }}{{\mu + \exp (bt)}}\left( {\sum\limits_{{k = 0}}^{n} {\sum\limits_{{i = 0}}^{n} {\frac{{( - 1)^{k} b^{i} \gamma ^{{ - k}} \left( {\prod\limits_{{j = 0}}^{k} {(1 - j\beta )} } \right)t^{{i + k + 1}} }}{{i!(i + k + 1)}} + A^{{ - 1}} C\gamma } } } \right) \\ = \frac{{A\left( {1 - \left( {1 - \frac{{\beta t}}{\gamma }} \right)^{{\frac{1}{\beta }}} } \right) + C}}{{1 + \mu \exp ( - bt)}} \\ \quad - \frac{A}{{\mu + \exp (bt)}}\left( {\sum\limits_{{k = 0}}^{n} {\sum\limits_{{i = 0}}^{n} {\frac{{( - 1)^{k} b^{i} \gamma ^{{ - k - 1}} \left( {\prod\limits_{{j = 0}}^{k} {(1 - j\beta )} } \right)t^{{i + k + 1}} }}{{i!(i + k + 1)}}} } + A^{{ - 1}} C} \right) \\ \end{aligned} $$

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wang, J. Model of Open Source Software Reliability with Fault Introduction Obeying the Generalized Pareto Distribution. Arab J Sci Eng 46, 3981–4000 (2021). https://doi.org/10.1007/s13369-021-05382-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13369-021-05382-4

Keywords

Navigation