Skip to main content
Log in

A generalized multiple environmental factors software reliability model with stochastic fault detection process

  • S.I. : Reliability Modeling with Applications Based on Big Data
  • Published:
Annals of Operations Research Aims and scope Submit manuscript

Abstract

Software systems have been widely applied in numerous safety–critical domains; however, large-scale software development is still considered as a complicated and expensive activity. As the latest trends in software industry accelerate the complexity and dependency of software development, such complicated and human-centered process needs to be addressed well. Meanwhile, recent survey investigations (Zhu et al. in J Syst Softw 109:150–160, 2015; Zhu and Pham in J Syst Softw 132:72–84, 2017) revealed that environmental factors, defined from software development, have significant impacts on software reliability. Considering such significant impacts, we first propose a generalized multiple-environmental-factors software reliability growth model with multiple environmental factors and the associated randomness under the martingale framework. The randomness is reflected on the process of detecting software fault. Indeed, this is a stochastic fault detection process. As an illustration, a specific multiple-environmental-factors software reliability growth model incorporating two specific environmental factors, percentage of reused modules and frequency of program specification change, is further developed. Lastly, we employ two real-world data sets to demonstrate the prediction performance of the proposed generalized multiple-environmental-factors software reliability growth model.

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

Similar content being viewed by others

Notes

  1. https://www.apache.org

References

  • Basole, R. C., & Karla, J. (2011). On the evolution of mobile platform ecosystem structure and strategy. Business & Information Systems Engineering, 3(5), 313.

    Article  Google Scholar 

  • Bosch, J., & Bosch-Sijtsema, P. (2010). From integration to composition: On the impact of software product lines, global development and ecosystems. Journal of Systems and Software, 83(1), 67–76.

    Article  Google Scholar 

  • Carlshamre, P. (2002). Release planning in market-driven software product development: Provoking an understanding. Requirements Engineering, 7(3), 139–151.

    Article  Google Scholar 

  • Carmel, E., & Agarwal, R. (2001). Tactical approaches for alleviating distance in global software development. IEEE Software, 18(2), 22–29.

    Article  Google Scholar 

  • Cascio, W. F., & Shurygailo, S. (2003). E-leadership and virtual teams. Organizational Dynamics, 31(4), 362–376.

    Article  Google Scholar 

  • Chang, I. H., Pham, H., Lee, S. W., & Song, K. Y. (2014). A testing-coverage software reliability model with the uncertainty of operating environments. International Journal of Systems Science: Operations & Logistics, 1(4), 220–227.

    Google Scholar 

  • Clements, P., & Northrop, L. (2002). Software product lines: Practices and patterns. Reading: Addison-Wesley.

    Google Scholar 

  • Condori-Fernandez, N., & Lago, P. (2018). Characterizing the contribution of quality requirements to software sustainability. Journal of Systems and Software, 137, 289–305.

    Article  Google Scholar 

  • De Melo, A. C. V., & Sanchez, A. J. (2008). Software maintenance project delays prediction using Bayesian Networks. Expert Systems with Applications, 34(2), 908–919.

    Article  Google Scholar 

  • El-Sebakhy, E. A. (2009). Software reliability identification using functional networks: A comparative study. Expert Systems with Applications, 36(2), 4013–4020.

    Article  Google Scholar 

  • Fiondella, L., Rajasekaran, S., & Gokhale, S. S. (2013). Efficient software reliability analysis with correlated component failures. IEEE Transactions on Reliability, 62(1), 244–255.

    Article  Google Scholar 

  • Garcia-Crespo, A., Colomo-Palacios, R., Soto-Acosta, P., & Ruano-Mayoral, M. (2010). A qualitative study of hard decision making in managing global software development teams. Information Systems Management, 27(3), 247–252.

    Article  Google Scholar 

  • Garg, H., Rani, M., & Sharma, S. P. (2014). An approach for analyzing the reliability of industrial systems using soft-computing based technique. Expert Systems with Applications, 41(2), 489–501.

    Article  Google Scholar 

  • Ghazawneh, A., & Henfridsson, O. (2013). Balancing platform control and external contribution in third-party development: The boundary resources model. Information Systems Journal, 23(2), 173–192.

    Article  Google Scholar 

  • 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 

  • Harker, S. D., Eason, K. D. & Dobson, J. E. (1993). The change and evolution of requirements as a challenge to the practice of software engineering. In Proceedings of IEEE international symposium on requirements engineering (pp. 266–272). IEEE, San Diego, California.

  • Harman, M., Jia, Y. & Zhang, Y. (2012). App store mining and analysis: MSR for app stores. In Proceedings of the 9th IEEE working conference on mining software repositories (MSR) (pp. 108–111). IEEE, Zurich, Switzerland.

  • Herbsleb, J. D., & Moitra, D. (2001). Global software development. IEEE Software, 18(2), 16–20.

    Article  Google Scholar 

  • Hsu, C. J., Huang, C. Y., & Chang, J. R. (2011). Enhancing software reliability modeling and prediction through the introduction of time-variable fault reduction factor. Applied Mathematical Modelling, 35(1), 506–521.

    Article  Google Scholar 

  • 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 

  • Inoue, S., Ikeda, J., & Yamada, S. (2016). Bivariate change-point modeling for software reliability assessment with uncertainty of testing-environment factor. Annals of Operations Research, 244(1), 209–220.

    Article  Google Scholar 

  • Ivanov, V., Reznik, A., & Succi, G. (2018). Comparing the reliability of software systems: A case study on mobile operating systems. Information Sciences, 423, 398–411.

    Article  Google Scholar 

  • Lehman, M. M. (1980). Programs, life cycles, and laws of software evolution. In Proceedings of the IEEE (pp. 1060–1076).

  • Li, H., Zeng, M., Lu, M., Hu, X., & Li, Z. (2012). Adaboosting-based dynamic weighted combination of software reliability growth models. Quality and Reliability Engineering International, 28(1), 67–84.

    Article  Google Scholar 

  • Loconsole, A., & Borstler, J. (2005). An industrial case study on requirements volatility measures. In Proceedings of the 12th Asia-Pacific software engineering conference (pp. 8). IEEE, Taipei, Taiwan.

  • Lyu, M. R. (2007) Software reliability engineering: A roadmap. In 2007 future of software engineering (pp. 153–170). IEEE, Minneapolis, Minnesota.

  • McGee, S., & Greer, D. (2010). Sources of software requirements change from the perspectives of development and maintenance. International Journal on Advances in Software, 3(1–2), 186–200.

    Google Scholar 

  • Mikosch, T. (1998). Elementary stochastic calculus with finance in view. Singapore: World Scientific.

    Book  Google Scholar 

  • Minamino, Y., Inoue, S. & Yamada, S. (2017). Two-dimensional software reliability growth modeling based on a CES type time function. In Proceedings of 2017 international conference on infocom technologies and unmanned systems (pp. 120–125). Dubai, United Arab Emirates.

  • Mörters, P., & Peres, Y. (2010). Brownian motion. Cambridge: Cambridge University Press.

    Google Scholar 

  • Musa, J. D. (1980). The measurement and management of software reliability. In Proceedings of the IEEE (pp. 1131–1143).

  • Nurmuliani, N., Zowghi, D. & Powell, S. (2004a). Analysis of requirements volatility during software development life cycle. In Proceedings of 2004 Australian software engineering conference (pp. 28–37). IEEE, Melbourne, Australia.

  • Nurmuliani, N., Zowghi, D. & Williams, S. P. (2004b). Using card sorting technique to classify requirements change. In Proceedings of the 12th IEEE international conference on requirements engineering (pp. 240–248). IEEE, Kyoto, Japan.

  • Özdamar, L., & Alanya, E. (2001). Uncertainty modelling in software development projects (with case study). Annals of Operations Research, 102(1–4), 157–178.

    Article  Google Scholar 

  • Pham, H. (2007). System software reliability. Berlin: Springer.

    Google Scholar 

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

    Article  Google Scholar 

  • Pham, T., & Pham, H. (2019). A generalized software reliability model with stochastic fault-detection rate. Annals of Operations Research, 277(1), 83–93.

    Article  Google Scholar 

  • Ponnurangam, D., & Uma, G. V. (2005). Fuzzy complexity assessment model for resource negotiation and allocation in agent-based software testing framework. Expert Systems with Applications, 29(1), 105–119.

    Article  Google Scholar 

  • Qiu, K., Zheng, Z., Trivedi, K. S., & Yin, B. (2019). Stress testing with influencing factors to accelerate data race software failures. IEEE Transactions on Reliability. https://doi.org/10.1109/TR.2019.2895052.

    Article  Google Scholar 

  • Sangwan, R., Bass, M., Mullick, N., Paulish, D. J., & Kazmeier, J. (2006). Global software development handbook. ‎Boca Raton: Auerbach Publications.

    Book  Google Scholar 

  • Shi, L., Wang, Q. & Li, M. (2013). Learning from evolution history to predict future requirement changes. In Proceedings of the 21st IEEE international on requirements engineering conference (pp. 135–144). IEEE, Rio de Janeiro, Brazil.

  • Singer, L., Figueira Filho, F., Cleary, B., Treude, C. Storey, M. A. & Schneider, K. (2013). Mutual assessment in the social programmer ecosystem: An empirical investigation of developer profile aggregators. In Proceedings of 2013 conference on computer supported cooperative work (pp. 103–116). ACM, San Antonio, Texas.

  • Storey, M. A., Zagalsky, A., Figueira Filho, F., Singer, L., & German, D. M. (2017). How social and communication channels shape and challenge a participatory culture in software development. IEEE Transactions on Software Engineering, 43(2), 185–204.

    Article  Google Scholar 

  • Teng, X., & Pham, H. (2006). A new methodology for predicting software reliability in the random field environments. IEEE Transactions on Reliability, 55(3), 458–468.

    Article  Google Scholar 

  • Zachariah, B. (2015). Optimal stopping time in software testing based on failure size approach. Annals of Operations Research, 235(1), 771–784.

    Article  Google Scholar 

  • Zhang, X., & Pham, H. (2000). An analysis of factors affecting software reliability. Journal of Systems and Software, 50(1), 43–56.

    Article  Google Scholar 

  • Zhang, X., Shin, M. Y., & Pham, H. (2001). Exploratory analysis of environmental factors for enhancing the software reliability assessment. Journal of Systems and Software, 57(1), 73–78.

    Article  Google Scholar 

  • Zhu, M., & Pham, H. (2017). Environmental factors analysis and comparison affecting software reliability in development of multi-release software. Journal of Systems and Software, 132, 72–84.

    Article  Google Scholar 

  • Zhu, M., & Pham, H. (2018a). A two-phase software reliability modeling involving with software fault dependency and imperfect fault removal. Computer Languages, Systems & Structures, 53, 27–42.

    Article  Google Scholar 

  • Zhu, M., & Pham, H. (2018b). A multi-release software reliability modeling for open source software incorporating dependent fault detection process. Annals of Operations Research, 269(1–2), 773–790.

    Article  Google Scholar 

  • Zhu, M., & Pham, H. (2018c). A software reliability model incorporating martingale process with gamma-distributed environmental factors. Annals of Operations Research. https://doi.org/10.1007/s10479-018-2951-7.

    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 Mengmeng Zhu.

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

Zhu, M., Pham, H. A generalized multiple environmental factors software reliability model with stochastic fault detection process. Ann Oper Res 311, 525–546 (2022). https://doi.org/10.1007/s10479-020-03732-3

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10479-020-03732-3

Keywords

Navigation