Skip to main content
Log in

A multi-release software reliability modeling for open source software incorporating dependent fault detection process

  • RAOTA-2016
  • Published:
Annals of Operations Research Aims and scope Submit manuscript

Abstract

The increasing dependence of our modern society on software systems has driven the development of software products become even more competitive and time-consuming. Single release software product no longer meets the increasing market requirements. Thereby it is important to release multiple version software products in order to add new features in the next release and fix remaining faults from previous release. In this paper, we develop a multi-release software reliability model with consideration of the remaining software faults from previous release and the new introduced-faults (from newly added features). Additionally, dependent fault detection process is taken into account in this research. In particular, the detection of a new fault for developing the next release depends on the detection of the remaining faults from previous release and the detection of the new introduced-faults. The proposed model is validated on the open source software project datasets with multiple releases.

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

Similar content being viewed by others

Notes

  1. https://www.apache.org/.

Abbreviations

LSE:

Least square estimation

MLE:

Maximum likelihood estimate

MSE:

Mean square error

NHPP:

Non-homogeneous Poisson process

OSS:

Open source software

PP:

Predictive power

PRR:

Predictive-ratio risk

SGRM:

Software reliability growth model

\(a\left( t \right) \) :

Total fault content function from previous release

\(b\left( t \right) \) :

Total fault content function for newly added features

\(d\left( t \right) \) :

Fault detection rate function for the next release

\(m_0 \) :

Expected number of software failures at \(t=0\)

\(m\left( t \right) \) :

Expected number of software failures by time t

\(N\left( t \right) \) :

Total number of software failures in the time interval \(\left[ {0,t} \right] \)

\(\lambda \left( t \right) \) :

Failure intensity function \(\lambda \left( t \right) =d[ {m( t )} ]{/}dt\).

References

  • Ahmadi, M., Mahdavi, I., & Garmabaki, A. H. S. (2016). Multi up-gradation reliability model for open source software. In U. Kumar, A. Ahmadi, A. K. Verma, & P. Varde (Eds.), Current trends in reliability, availability, maintainability and safety (pp. 691–702). Berlin: Springer.

    Chapter  Google Scholar 

  • Al-Emran, A., & Pfahl, D. (2007). Operational planning, re-planning and risk analysis for software releases. In: International conference on product focused software process improvement (pp. 315–329). Berlin: Springer.

  • Carlshamre, P., Sandahl, K., Lindvall, M., Regnell, B., & och Dag, J. N. (2001). An industrial survey of requirements interdependencies in software product release planning. In Proceedings of the fifth IEEE international symposium on requirements engineering (pp. 84–91).

  • Etgar, R., Gelbard, R., & Cohen, Y. (2017). Optimizing version release dates of research and development long-term processes. European Journal of Operational Research, 259(2), 642–653.

    Article  Google Scholar 

  • Febrero, F., Calero, C., & Moraga, M. Á. (2016). Software reliability modeling based on ISO/IEC SQuaRE. Information and Software Technology, 70, 18–29.

    Article  Google Scholar 

  • Garmabaki, A. H., Aggarwal, A. G., & Kapur, P. K. (2011). Multi up-gradation software reliability growth model with faults of different severity. In 2011 IEEE international conference on industrial engineering and engineering management (IEEM) (pp. 1539–1543).

  • Goel, A. L., & Okumoto, K. (1979). Time-dependent error-detection rate model for software reliability and other performance measures. IEEE Transactions on Reliability, 28(3), 206–211.

    Article  Google Scholar 

  • Gorschek, T., & Davis, A. M. (2008). Requirements engineering: in search of the dependent variables. Information and Software Technology, 50(1), 67–75.

    Article  Google Scholar 

  • Greer, D., & Ruhe, G. (2004). Software release planning: An evolutionary and iterative approach. Information and Software Technology, 46(4), 243–253.

    Article  Google Scholar 

  • Ho, J., & Ruhe, G. (2013). Releasing sooner or later: An optimization approach and its case study evaluation. In Proceedings of the 1st international workshop on release engineering (pp. 21–24). IEEE Press.

  • Hu, Q. P., Peng, R., Xie, M., Ng, S. H., & Levitin, G. (2011). Software reliability modelling and optimization for multi-release software development processes. In 2011 IEEE international conference on industrial engineering and engineering management (pp. 1534–1538).

  • Huang, C. Y., & Kuo, S. Y. (2002). Analysis of incorporating logistic testing-effort function into software reliability modeling. IEEE Transactions on Reliability, 51(3), 261–270.

    Article  Google Scholar 

  • Jeske, D. R., & Zhang, X. (2005). Some successful approaches to software reliability modeling in industry. Journal of Systems and Software, 74(1), 85–99.

    Article  Google Scholar 

  • Jørgensen, N. (2001). Putting it all in the trunk: Incremental software development in the FreeBSD open source project. Information Systems Journal, 11(4), 321–336.

    Article  Google Scholar 

  • Kachitvichyanukul, V. (2012). Comparison of three evolutionary algorithms: GA, PSO, and DE. Industrial Engineering and Management Systems, 11(3), 215–223.

    Article  Google Scholar 

  • Kapur, P. K., Pham, H., Aggarwal, A. G., & Kaur, G. (2012). Two dimensional multi-release software reliability modeling and optimal release planning. IEEE Transactions on Reliability, 61(3), 758–768.

    Article  Google Scholar 

  • Kapur, P. K., Pham, H., Anand, S., & Yadav, K. (2011). A unified approach for developing software reliability growth models in the presence of imperfect debugging and error generation. IEEE Transactions on Reliability, 60(1), 331–340.

    Article  Google Scholar 

  • Leszak, M. (2005). Software defect analysis of a multi-release telecommunications system. In International conference on product focused software process improvement (pp. 98-114). Berlin: Springer.

  • Li, L., Harman, M., Letier, E., & Zhang, Y. (2014). Robust next release problem: Handling uncertainty during optimization. In Proceedings of the ACM 2014 annual Conference on Genetic and Evolutionary Computation (pp. 1247–1254).

  • Li, X., Li, Y. F., Xie, M., & Ng, S. H. (2011). Reliability analysis and optimal version-updating for open source software. Information and Software Technology, 53(9), 929–936.

    Article  Google Scholar 

  • Li, Z., Tan, L., Wang, X., Lu, S., Zhou, Y., & Zhai, C. (2006). Have things changed now?: An empirical study of bug characteristics in modern open source software. In Proceedings of the ACM 1st workshop on architectural and system support for improving software dependability (pp. 25–33).

  • Mahimkar, A. (2016). Detecting and diagnosing performance impact of smartphone software upgrades. In 2016 IEEE 12th international conference on network and service management (CNSM) (pp. 188–194).

  • Maurice, S., Ruhe, G., & Saliu, O. (2006). Decision support for value-based software release planning. In S. Biffl, A. Aurum, B. Boehm, H. Erdogmus, & P. Grünbacher (Eds.), Value-based software engineering (pp. 247–261). Berlin: Springer.

    Chapter  Google Scholar 

  • Mehlawat, M. K. (2013). A multi-choice goal programming approach for COTS products selection of modular software systems. International Journal of Reliability, Quality and Safety Engineering, 20(6), 1350026-1-18.

    Article  Google Scholar 

  • Missbauer, H. (2002). Aggregate order release planning for time-varying demand. International Journal of Production Research, 40(3), 699–718.

    Article  Google Scholar 

  • Musa, J. D. (1975). A theory of software reliability and its application. IEEE Transactions on Software Engineering, 3, 312–327.

    Article  Google Scholar 

  • Naciri, S., Idrissi, M. A. J., & Kerzazi, N. (2015). A strategic release planning model from TPM point of view. In 2015 10th international conference on IEEE intelligent systems: Theories and applications (SITA) (pp. 1–9).

  • Pachauri, B., Dhar, J., & Kumar, A. (2015). Incorporating inflection S-shaped fault reduction factor to enhance software reliability growth. Applied Mathematical Modelling, 39(5), 1463–1469.

    Article  Google Scholar 

  • Pham, H. (2014). A new software reliability model with Vtub-shaped fault-detection rate and the uncertainty of operating environments. Optimization - A Journal of Mathematical Programming and Operations Research, 63(10), 1481–1490.

    Google Scholar 

  • Raymond, E. S. (2001). The cathedral and the bazaar: Musings on Linux and open source by an accidental revolutionary. Sebastopol: O’Reilly Media Inc.

    Google Scholar 

  • Ruhe, G., & Momoh, J. (2005). Strategic release planning and evaluation of operational feasibility. In HICSS’05 proceedings of the 38th IEEE annual Hawaii international conference on system sciences (p. 313b).

  • Ruhe, G., & Saliu, M. O. (2005). The art and science of software release planning. IEEE Software, 22(6), 47–53.

    Article  Google Scholar 

  • Saliu, O., & Ruhe, G. (2005). Software release planning for evolving systems. Innovations in Systems and Software Engineering, 1(2), 189–204.

    Article  Google Scholar 

  • Sukhwani, H., Alonso, J., Trivedi, K. S., & Mcginnis, I. (2016). Software reliability analysis of NASA space flight software: A practical experience. In 2016 IEEE international conference on software quality, reliability and security (pp. 386–397).

  • Svahnberg, M., Gorschek, T., Feldt, R., Torkar, R., Saleem, S. B., & Shafique, M. U. (2010). A systematic review on strategic release planning models. Information and Software Technology, 52(3), 237–248.

    Article  Google Scholar 

  • Szöke, Á. (2011). Conceptual scheduling model and optimized release scheduling for agile environments. Information and Software Technology, 53(6), 574–591.

    Article  Google Scholar 

  • Tsay, J., Wright, H. K., & Perry, D. E. (2011). Experiences mining open source release histories. In Proceedings of the ACM 2011 international conference on software and systems process (pp. 208–212).

  • Yamada, S., Hishitani, J., & Osaki, S. (1993). Software-reliability growth with a Weibull test-effort: A model and application. IEEE Transactions on Reliability, 42(1), 100–106.

    Article  Google Scholar 

  • Yamada, S., Ohtera, H., & Narihisa, H. (1986). Software reliability growth models with testing-effort. IEEE Transactions on Reliability, 35(1), 19–23.

    Article  Google Scholar 

  • Yang, J., Liu, Y., Xie, M., & Zhao, M. (2016). Modeling and analysis of reliability of multi-release open source software incorporating both fault detection and correction processes. Journal of Systems and Software, 115, 102–110.

    Article  Google Scholar 

  • Zhu, M., & Pham, H. (2016). A software reliability model with time-dependent fault detection and fault removal. Vietnam Journal of Computer Science, 3(2), 71–79.

    Article  Google Scholar 

  • Zhu, M., Zhang, X., & Pham, H. (2015). A comparison analysis of environmental factors affecting software reliability. Journal of Systems and Software, 109, 150–160.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hoang Pham.

Appendix

Appendix

Proof of Lemma 1

We need to show that: (a) the function \(g\left( t \right) \) in Eq. (7) is convex, and (b) the function \(f\left( x \right) \) in Eq. (8) is concave.

  1. (a)

    Since d is non-negative and \({g}''(t)=d^{2}e^{dt+C_{0}}>0\), thus function g(t) is convex.

  2. (b)

    \(f\left( x \right) =x^{\frac{1}{ab}}\left( {x-a} \right) ^{\frac{1}{a\left( {a-b} \right) }}\left( {x-b} \right) ^{-\frac{1}{b\left( {a-b} \right) }}\)

    $$\begin{aligned} f'\left( x \right)= & {} \frac{1}{{ab}}{x^{\frac{1}{{ab}} - 1}}~{\left( {x - a} \right) ^{\frac{1}{{a\left( {a - b} \right) }}}}~{\left( {x - b} \right) ^{ - \frac{1}{{b\left( {a - b} \right) }}}} + \frac{1}{{a\left( {a - b} \right) }}{x^{\frac{1}{{ab}}}}~{\left( {x - a} \right) ^{\frac{1}{{a\left( {a - b} \right) }} - 1}}~{\left( {x - b} \right) ^{ - \frac{1}{{b\left( {a - b} \right) }}}} \\&-\frac{1}{{b\left( {a - b} \right) }}{x^{\frac{1}{{ab}}}}~{\left( {x - a} \right) ^{\frac{1}{{a\left( {a - b} \right) }}}}~{\left( {x - b} \right) ^{ - \frac{1}{{b\left( {a - b} \right) }} - 1}}\\= & {} {x^{\frac{1}{{ab}}}}~{\left( {x - a} \right) ^{\frac{1}{{a\left( {a - b} \right) }}}}~{\left( {x - b} \right) ^{ - \frac{1}{{b\left( {a - b} \right) }}}}\left( {\frac{1}{{abx}} + \frac{1}{{a\left( {a - b} \right) \left( {x - a} \right) }} - \frac{1}{{b\left( {a - b} \right) \left( {x - b} \right) }}} \right) \\= & {} {x^{\frac{1}{{ab}}}}~{\left( {x - a} \right) ^{\frac{1}{{a\left( {a - b} \right) }}}}~{\left( {x - b} \right) ^{ - \frac{1}{{b\left( {a - b} \right) }}}}\frac{{\left( {ab + a + b} \right) - \left( {a + b} \right) x}}{{abx\left( {x - a} \right) \left( {x - b} \right) }}\\= & {} f\left( x \right) \frac{{\left( {ab + a + b} \right) - \left( {a + b} \right) x}}{{abx\left( {x - a} \right) \left( {x - b} \right) }}\\= & {} {\left[ {f\left( x \right) } \right] ^{ - 1}}\frac{{\left( {ab + a + b} \right) - \left( {a + b} \right) x}}{{ab}}\\ f''\left( x \right)= & {} - {\left[ {f\left( x \right) } \right] ^{ - 2}}f'\left( x \right) \frac{{\left( {ab + a + b} \right) - \left( {a + b} \right) x}}{{ab}} - {\left[ {f\left( x \right) } \right] ^{ - 1}}\frac{{a + b}}{{ab}}\\= & {} - \frac{{f'\left( x \right) \left\{ {{{\left[ {f\left( x \right) } \right] }^{ - 1}}\frac{{\left( {ab + a + b} \right) - \left( {a + b} \right) x}}{{ab}}} \right\} }}{{f\left( x \right) }} - {\left[ {f\left( x \right) } \right] ^{ - 1}}\frac{{a + b}}{{ab}}\\= & {} - \frac{{{{\left[ {{f^{'\left( x \right) }}} \right] }^2}}}{{f\left( x \right) }} - \frac{{\frac{{a + b}}{{ab}}}}{{f\left( x \right) }} < 0 \end{aligned}$$

    Note that \(f\left( x \right) =g\left( t \right) >0\) in Eq. (3), \(a>0\) and \(b>0\), therefore, function f(x) in Eq. (8) is concave. Since the function \(g\left( t \right) \) is convex, and \(f\left( x \right) \) is concave, the results in Lemma 1 follow accordingly. \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Zhu, M., Pham, H. A multi-release software reliability modeling for open source software incorporating dependent fault detection process. Ann Oper Res 269, 773–790 (2018). https://doi.org/10.1007/s10479-017-2556-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10479-017-2556-6

Keywords

Navigation