Reliability Assessment for Open-Source Software Using Deterministic and Probabilistic Models

Full Text (PDF, 587KB), PP.1-15

Views: 0 Downloads: 0

Author(s)

Islam S. Ramadan 1,* Hany M. Harb 1 Hamdy M. Mousa 2 Mohammed G. Malhat 2

1. Department of Computer Science, College of Information Technology, MUST University, Cairo, Egypt

2. Department of Computer Science, College of Computers and Information, Menoufia University, Menoufia, Egypt

* Corresponding author.

DOI: https://doi.org/10.5815/ijitcs.2022.03.01

Received: 12 Jan. 2022 / Revised: 2 Mar. 2022 / Accepted: 1 Apr. 2022 / Published: 8 Jun. 2022

Index Terms

Software reliability models, Deterministic models, Probabilistic models, Open-source software, least squares estimation

Abstract

Nowadays, computer software plays a significant role in all fields of our life. Essentially open-source software provides economic benefits for software companies such that it allows building new software without the need to create it from scratch. Therefore, it is extremely used, and accordingly, open-source software’s quality is a critical issue and one of the top research directions in the literature. In the development cycles of the software, checking the software reliability is an important indicator to release software or not. The deterministic and probabilistic models are the two main categories of models used to assess software reliability. In this paper, we perform a comparative study between eight different software reliability models: two deterministic models, and six probabilistic models based on three different methodologies: perfect debugging, imperfect debugging, and Gompertz distribution. We evaluate the employed models using three versions of a standard open-source dataset which is GNU’s Not Unix Network Object Model Environment projects. We evaluate the employed models using four evaluation criteria: sum of square error, mean square error, R-square, and reliability. The experimental results showed that for the first version of the open-source dataset SRGM-4 based on imperfect debugging methodology achieved the best reliability result, and for the last two versions of the open-source dataset SRGM-6 based on Gompertz distribution methodology achieved the best reliability result in terms of sum of square error, mean square error, and R-square.

Cite This Paper

Islam S. Ramadan, Hany M. Harb, Hamdy M. Mousa, Mohammed G. Malhat, "Reliability Assessment for Open-Source Software Using Deterministic and Probabilistic Models", International Journal of Information Technology and Computer Science(IJITCS), Vol.14, No.3, pp.1-15, 2022. DOI:10.5815/ijitcs.2022.03.01

Reference

[1]S. Shukla, R.K. Behera, S. Misra, S.K. Rath, “Software reliability assessment using deep learning technique, “in Towards Extensible and Adaptable Methods in Computing, pp.57-68,2018.
[2]F. Akowuah, J. Lake, X. Yuan, E. Nuakoh, H. Yu,"Testing the security vulnerabilities of openemr 4.1. 1: a case study,"Journal of Computing Sciences in Colleges, vol. 30, no. 3, pp. 26-35,2015.
[3]W. Yu and L. Chen, “The Application of Computer Softwares in Chemistry Teaching,” Int. J. Educ. Manag. Eng., vol. 2, no. 12, pp. 73–77, 2012.
[4]R.K. Behera, S.K. Rath, S. Misra, M. Leon, A. Adewumi,” Machine learning approach for reliability assessment of open-source software,” in International Conference on Computational Science and Its Applications, pp.472-482,2019.
[5]A. K. Ray and D. B. Ramesh, “Open-Source Software (OSS) for Management of Library and Information Services: An Overview,” vol. 7, no. 2, pp. 20–31, 2017.
[6]M. Sirshar, A. Ali, S. Ibrahim, “A Comparitive Analysis Between Open Source and Closed Source Software in Terms of Complexity and Quality Factors,” Dec 2019.
[7]RiskSense, “The Dark Reality of Open Source,” 2020, [Online]. Available: https://cdn2.hubspot.net/hubfs/5840026/Q2-2020 Open-Source Spotlight Report/Spotlight_OpenSource.pdf.
[8]D. K. Moulla, A. Abran, and Kolyang, “Duration Estimation Models for Open-Source Software Projects,” Int. J. Inf. Technol. Comput. Sci., vol. 13, no. 1, pp. 1–17, 2021.
[9]Kluitenberg, HF,” Evaluating Quality of Open-Source Components,”2018.
[10]A. Alami, Y. Dittrich, A. Wasowski, “Influencers of quality assurance in an open-source community,” in 2018 IEEE/ACM 11th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE), pp. 61–68,2018.
[11]A. Al Hussein, “An Object-Oriented Software Metric Tool to Evaluate the Quality of Open-Source Software,” IJCSNS Int. J. Comput. Sci. Netw. Secur., vol. 17, no. 4, pp. 345–351, 2017.
[12]W. Agustiono,” An Open-Source Software Quality Model and Its Applicability for Assessing E-commerce Content Management Systems,” in International Conference on Science and Technology (ICST 2018, pp.699-704,2018.
[13]L. V. Utkin, F. P. A. Coolen, “A robust weighted SVR-based software reliability growth model,” Reliability Engineering \& System Safety, vol. 176, pp. 93–101, 2018.
[14]K. Sahu, R. K. Srivastava, “Needs and importance of reliability prediction: An industrial perspective,” Information Sciences Letters, vol. 9, no. 1, pp. 33–37, 2020.
[15]N. Shakhovska, V. Yakovyna, N. Kryvinska,” An improved software defect prediction algorithm using self-organizing maps combined with hierarchical clustering and data preprocessing,” in International Conference on Database and Expert Systems Applications, pp.414-424,2020.
[16]P. Kumar, L. K. Singh, C. Kumar, “Suitability analysis of software reliability models for its applicability on NPP systems,” Quality and Reliability Engineering International, vol. 34, no. 8, pp. 1491–1509, 2018.
[17]N. Govil, “Programming Languages for Analyzing Software Complexity,” in 2020 4th International Conference on Trends in Electronics and Informatics (ICOEI) (48184), pp. 939–943, 2020.
[18]T. Hariprasad, G. Vidhyagaran, K. Seenu, C. Thirumalai, “Software complexity analysis using halstead metrics,”in 2017 International Conference on Trends in Electronics and Informatics (ICEI), pp. 1109–1113, 2017.
[19]A.S. Abdulkareem, J.A. Abboud,” Evaluating Python, C++, JavaScript, and Java Programming Languages Based on Software Complexity Calculator (Halstead Metrics),” in IOP Conference Series: Materials Science and Engineering, vol. 1076, no. 1, pp.012046,2021
[20]H. Liu, X. Gong, L. Liao, B. Li, “Evaluate How Cyclomatic Complexity Changes in the Context of Software Evolution,” in 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC), vol. 2, pp. 756–761, 2018.
[21]M. Zhu, H. Pham, “A multi-release software reliability modeling for open-source software incorporating dependent fault detection process,” Annals of Operations Research, vol. 269, no. 1, pp. 773–790, 2018.
[22]G.A. Aggarwal,” Multi Release Reliability Growth Modeling for Open-Source Software Under Imperfect Debugging,” in System Performance and Management Analytics, pp.77-86,2019.
[23]M. Dorin, “Coding for inspections and reviews,” inProceedings of the 19th International Conference on Agile Software Development: Companion, pp.1-3, 2018.
[24]Y. Tashtoush, M. Al-maolegi, B. Arkok, “The Correlation among Software Complexity Metrics with Case Study,” International Journal of Advanced Computer Research, vol. 4, no. 2, pp. 414, 2014.
[25]N. Gandhi, N. Gondwal, A. Tandon, “Reliability Modeling of OSS Systems based on Innovation-Diffusion Theory and Imperfect Debugging,”in ICITKM, pp. 53–58, 2017.
[26]A. El-Gohary, A. Alshamrani, and A. N. Al-Otaibi, “The generalized Gompertz distribution,” Appl. Math. Model., vol. 37, no. 1–2, pp. 13–24, 2013, doi: 10.1016/j.apm.2011.05.017.
[27]T. Yaghoobi, “Selection of optimal software reliability growth model using a diversity index,” Soft Computing, vol. 25, no. 7, pp. 5339–5353, 2021.
[28]X. Li, Y. F. Li, M. Xie, S. H. Ng, “Reliability analysis and optimal version-updating for open-source software,” Information and Software Technology, vol. 53, no. 9, pp. 929–936, 2011.
[29]J. Wang, “Model of Open-Source Software Reliability with Fault Introduction Obeying the Generalized Pareto Distribution,” Arabian Journal for Science and Engineering, vol. 46, no. 4, pp. 3981–4000, 2021.
[30]B. Pachauri, A. Kumar, and J. Dhar, “Reliability analysis of open-source software systems considering the effect of previously released version,” Int. J. Comput. Appl., vol. 41, no. 1, pp. 30–37, 2019, doi: 10.1080/1206212X.2018.1497575.
[31]Javaid Iqbal,"Analysis of Some Software Reliability Growth Models with Learning Effects", International Journal of Mathematical Sciences and Computing, Vol.2, No.3, pp.58-70, 2016.