Document Type : Research Paper

Authors

1 Department of Computer Science, Faculty of Science, University of Uyo, Uyo, Akwa Ibom State, Nigeria.

2 Department of Computer Science, Faculty of Physical Sciences, University of Benin, Benin City, Nigeria.

Abstract

The reliability of software product is seen as critical quality factor that cannot be overemphasized. Since real world application is loaded with high amount of uncertainty, such as applicable to software reliability, there should be a technique of dealing with such uncertainty. This paper presents a reliability model to effectively handle uncertainty in software data to enhance reliability prediction of software at the early (requirements and design) stages of Software Development Life Cycle (SDLC). In this paper, a hybrid methodology of Takagi Sugeno Kang (TSK)-based Interval Type-2 Fuzzy Logic System (IT2FLS) with Artificial Neural Network (ANN) learning is employed for the prediction of software reliability. The parameters of the model are optimized using Gradient Descent (GD) back-propagation method. Relevant reliability software requirement and design metrics and software size metrics are utilized as inputs. The proposed approach uses twenty-eight real software project data. The performance of the model is evaluated using five performance metrics and found to provide output values that are very close to the actual output showing better predictive accuracy.

Keywords

Main Subjects

[1]     Lyu, M. R.. (1996). Handbook of software reliability engineering (Vol. 222). IEEE computer society press Los Alamitos.
[2]     Umoeka, I., Imo Eyoh, E. U., & Akwukwuma, V. (2020). Optimization of Interval Type-2 Fuzzy Logic System for Software Reliability Prediction‖. International journal of engineering research and advanced technology, 6(11), 1–12.
[3]     Kumar, R., Khatter, K., & Kalia, A. (2011). Measuring software reliability: a fuzzy model. ACM sigsoft software engineering notes, 36(6), 1–6.
[4]     Board, I. S. (1990). IEEE Standard Glossary of Software Engineering Terminology. https://www.informatik.htw-dresden.de/~hauptman/SEI/IEEE_Standard_Glossary_of_Software_Engineering_Terminology .pdf
[5]     Arasteh, B. (2018). Software fault-prediction using combination of neural network and Naive Bayes algorithm. Journal of networking technology, 9(3), 94-101.
[6]     Kaur, R., & Sharma, E. S. (2018). Various techniques to detect and predict faults in software system: survey. International journal on future revolution in computer science & communication engineering (IJFRSCE), 4(2), 330–336.
[7]     Singh, P., Pal, N. R., Verma, S., & Vyas, O. P. (2016). Fuzzy rule-based approach for software fault prediction. IEEE transactions on systems, man, and cybernetics: systems, 47(5), 826–837.
[8]     Eyoh, I. J., Udo, E. N., & Umoeka, I. J. (2021). Software fault prediction based on interval type-2 intuitionistic fuzzy logic system. international journal of advances in scientific research and engineering, 7(5). https://www.researchgate.net/publication/352647945
[9]     Fan, G., Diao, X., Yu, H., Yang, K., Chen, L., & others. (2019). Software defect prediction via attention-based recurrent neural network. Scientific programming, 2019. https://doi.org/10.1155/2019/6230953
[10]   Fenton, N., Neil, M., Marsh, W., Hearty, P., Radliński, Ł., & Krause, P. (2008). On the effectiveness of early life cycle defect prediction with Bayesian nets. Empirical software engineering, 13, 499–537. https://doi.org/10.1007/s10664-008-9072-x
[11]   Pandey, A. K., & Goyal, N. K. (2009). A fuzzy model for early software fault prediction using process maturity and software metrics. International journal of electronics engineering, 1(2), 239–245.
[12]   Yadav, D. K., Chaturvedi, S. K., & Misra, R. B. (2012). Early Software defects prediction using fuzzy logic. International journal of performability engineering, 8(4). http://www.ijpe-online.com/EN/10.23940/ijpe.12.4.p399.mag
[13]   Yadav, H. B., & Yadav, D. K. (2017). Early software reliability analysis using reliability relevant software metrics. International journal of system assurance engineering and management, 8, 2097–2108. https://doi.org/10.1007/s13198-014-0325-3
[14]   Rizvi, S. W. A., Khan, R. A., & Singh, V. K. (2016). Software reliability prediction using fuzzy inference system: early stage perspective. International journal of computer applications, 145(10), 16–23.
[15]   Rizvi, S. W. A., Singh, V. K., & Khan, R. A. (2017). Early stage software reliability modeling using requirements and object-oriented design metrics: fuzzy logic perspective. International journal of computer applications, 162(2), 44–59.
[16]   Zhang, X., & Pham, H. (2000). An analysis of factors affecting software reliability. Journal of systems and software, 50(1), 43–56.
[17]   Li, M., Smidts, C., & Brill, R. W. (2000). Ranking software engineering measures related to reliability using expert opinion. Proceedings 11th international symposium on software reliability engineering (pp. 246–258). IEEE. https://doi.org/10.1109/ISSRE.2000.885876
[18]   Li, M., & Smidts, C. S. (2003). A ranking of software engineering measures based on expert opinion. IEEE transactions on software engineering, 29(9), 811–824.
[19]   Kumar, T. R., Rao, T. S., & Hari, CH. V. M. K. (n.d.). A predictive approach to estimate software defects density using probabilistic neural networks for the given software metrics. Ravi kumar journal of engineering research and application ISSN, 8(7), 2248–9622.
[20]   Debnath, S. (2021). Fuzzy hypersoft sets and its weightage operator for decision making. Journal of fuzzy extension and applications, 2(2), 163–170.
[21]   Khoshgoftaar, T. M., Szabo, R. M., & Guasti, P. J. (1995). Exploring the behaviour of neural network software quality models. Software engineering journal, 10(3), 89–96.
[22]   Karunanithi, N., Malaiya, Y. K., & Whitley, L. D. (1991). Prediction of software reliability using neural networks. In ISSRE (pp. 124–130). IEEE Computer Society. https://www.researchgate.net/publication/3507480
[23]   Karunanithi, N., Whitley, D., & Malaiya, Y. K. (1992). Using neural networks in reliability prediction. IEEE software, 9(4), 53–59.
[24]   Tian, L., & Noore, A. (2005). Evolutionary neural network modeling for software cumulative failure time prediction. Reliability engineering & system safety, 87(1), 45–51.
[25]   Tian, L., & Noore, A. (2005). On-line prediction of software reliability using an evolutionary connectionist model. Journal of systems and software, 77(2), 173–180.
[26]   Oliveira, E., Pozo, A., & Vergilio, S. R. (2006). Using boosting techniques to improve software reliability models based on genetic programming. 2006 18th IEEE international conference on tools with artificial intelligence (ICTAI’06) (pp. 643–650). IEEE. https://doi.org/10.1109/ICTAI.2006.117
[27]   Sharma, T. K., Pant, M., & Abraham, A. (2011). Dichotomous search in abc and its application in parameter estimation of software reliability growth models. 2011 third world congress on nature and biologically inspired computing (pp. 207–212). IEEE. https://doi.org/10.1109/NaBIC.2011.6089460
[28]   Khoshgoftaar, T. M., Allen, E. B., Hudepohl, J. P., & Aud, S. J. (1997). Application of neural networks to software quality modeling of a very large telecommunications system. IEEE transactions on neural networks, 8(4), 902–909.
[29]   Khoshgoftaar, T. M., Allen, E. B., & Deng, J. (2002). Using regression trees to classify fault-prone software modules. IEEE transactions on reliability, 51(4), 455–462.
[30]   Sandhu, P. S., Khullar, S., Singh, S., Bains, S. K., Kaur, M., & Singh, G. (2010). A study on early prediction of fault proneness in software modules using genetic algorithm. International journal of computer and information engineering, 4(12), 1891–1896.
[31]   Kanmani, S., Uthariaraj, V. R., Sankaranarayanan, V., & Thambidurai, P. (2007). Object-oriented software fault prediction using neural networks. Information and software technology, 49(5), 483–492.
[32]   Ranjan, P., Kumar, S., & Kumar, U. (2017). Software fault prediction using computational intelligence techniques: A survey. Indian journal of science and technology, 10(18), 1–9.
[33]   Erturk, E., & Sezer, E. A. (2016). Iterative software fault prediction with a hybrid approach. Applied soft computing, 49, 1020–1033.
[34]   Pandey, A. K., Goyal, N. K., Pandey, A. K., & Goyal, N. K. (2013). Multistage model for residual fault prediction. Early software reliability prediction: a fuzzy logic approach, 59–80. https://doi.org/10.1007/978-81-322-1176-1_4
[35]   Adak, M. F. (2018). Software defect detection by using data mining based fuzzy logic. 2018 sixth international conference on digital information, networking, and wireless communications (DINWC) (pp. 65–69). IEEE. https://doi.org/10.1109/DINWC.2018.8356997
[36]   Chatterjee, S., & Maji, B. (2016). A new fuzzy rule based algorithm for estimating software faults in early phase of development. Soft computing, 20, 4023–4035.
[37]   Kakkar, M., Jain, S., Bansal, A., & Grover, P. S. (2019). Fuzzy logic based model to predict per phase software defect. International journal of innovative technology and exploring engineering, 8(Spec. Issue), 36–41. DOI:10.35940/ijitee.I1006.0789S19
[38]   Shankar, K., & Kumar, M. (2020). Software defect prediction using fuzzy logic. International journal of innovations & advancement in computer science, 6(3), 118–124.
[39]   Eyoh, I., John, R., & De Maere, G. (2016). Interval type-2 intuitionistic fuzzy logic system for non-linear system prediction. 2016 ieee international conference on systems, man, and cybernetics (SMC) (pp. 1063–1068). IEEE. https://doi.org/10.1109/SMC.2016.7844383
[40]   Mendel, J. M. (2001). On the importance of interval sets in type-2 fuzzy logic systems. Proceedings joint 9th ifsa world congress and 20th nafips international conference (Vol. 3, pp. 1647–1652). IEEE.
[41]   Hagras, H. A. (2004). A hierarchical type-2 fuzzy logic control architecture for autonomous mobile robots. IEEE transactions on fuzzy systems, 12(4), 524–539. DOI:10.1109/TFUZZ.2004.832538
[42]   Hagras, H. (2007). Type-2 FLCs: A new generation of fuzzy controllers. IEEE computational intelligence magazine, 2(1), 30–43.
[43]   Mendel, J. M., & John, R. I. B. (2002). Type-2 fuzzy sets made simple. IEEE transactions on fuzzy systems, 10(2), 117–127.
[44]   Zadeh, L. A. (1965). Fuzzy sets. Information and control, 8(3), 338–353. DOI:10.1016/S0019-9958(65)90241-X
[45]   Mendel, J. M., John, R. I., & Liu, F. (2006). Interval type-2 fuzzy logic systems made simple. IEEE transactions on fuzzy systems, 14(6), 808–821.
[46]   Chatterjee, S., Maji, B., & Pham, H. (2019). A fuzzy rule-based generation algorithm in interval type-2 fuzzy logic system for fault prediction in the early phase of software development. Journal of experimental & theoretical artificial intelligence, 31(3), 369–391.
[47]   Atanassov, K. T., & Atanassov, K. T. (1999). Intuitionistic fuzzy sets. Springer.
[48]   Moeyersoms, J., de Fortuny, E. J., Dejaeger, K., Baesens, B., & Martens, D. (2015). Comprehensible software fault and effort prediction: A data mining approach. Journal of systems and software, 100, 80–90.
[49]   Kayacan, E., & Khanesar, M. A. (2015). Fuzzy neural networks for real time control applications: concepts, modeling and algorithms for fast learning. Butterworth-Heinemann.
[50]   Yadav, H. B., & Yadav, D. K. (2015). A fuzzy logic based approach for phase-wise software defects prediction using software metrics. Information and software technology, 63, 44–57.
[51]   Ibraigheeth, M., & Fadzli, S. A. (2018). Software reliability prediction in various software development stages. Journal of theoretical and applied information technology, 96(7). http://www.jatit.org/volumes/Vol96No7/5Vol96No7.pdf
[52]   Kececioglu, O. F., Gani, A., & Sekkeli, M. (2020). Design and hardware implementation based on hybrid structure for MPPT of PV system using an interval type-2 TSK fuzzy logic controller. Energies, 13(7), 1842. https://doi.org/10.3390/en13071842
[53]   Tai, K., El Sayed, A. R., Biglarbegian, M., Gonzalez, C. I., Castillo, O., & Mahmud, S. (2016). Review of recent type-2 fuzzy controller applications. Algorithms, 9(2), 1-39.
[54]   Begian, M. B., Melek, W. W., & Mendel, J. M. (2008). Parametric design of stable type-2 tsk fuzzy systems. NAFIPS 2008-2008 annual meeting of the north american fuzzy information processing society (pp. 1–6). IEEE.
[55]   Nie, M., & Tan, W. W. (2008). Towards an efficient type-reduction method for interval type-2 fuzzy logic systems. 2008 IEEE international conference on fuzzy systems (IEEE world congress on computational intelligence) (pp. 1425–1432). IEEE. https://doi.org/10.1109/FUZZY.2008.4630559
[56]   Wu, D., & Tan, W. W. (2005). Computationally efficient type-reduction strategies for a type-2 fuzzy logic controller. The 14th ieee international conference on fuzzy systems (pp. 353–358). IEEE.
[57]   Menzies, T. (2007). Promise datasets page. http://promise.site.uottawa.ca/SERepository/datasets-page.html