Abstract
Dependability of software systems is one of the challenging issues for software developers. Main software dependability issues include reliability, security, performability, availability, maintainability, and aging. Software becomes non-dependable due to the overconfidence of developers, lack of knowledge about dependability issues, or ignorance of dependability attributes during software development. Classification and ranking of these non-dependable software modules based on above-mentioned dependability attribute values in early phase are the main aspects of this article. Hence, computation of dependability attribute values becomes a primitive concern here. The values of software dependability attributes depend on various software metrics like: requirement stability, cyclomatic complexity, essential complexity, lines of code, and so on. Neutrosophic inference system (NIS) has been used here to compute the values of dependability attributes accurately, reducing incompleteness, indeterminacy, and impreciseness from metric values by incorporating expert knowledge. An Elman Recurrent Neural Network (ERNN)-based algorithm has been proposed here based on predicted dependability attribute values to classify dependable and non-dependable software modules. Backpropagation algorithm and Genetic Algorithm are used during training of ERNN. Mahalanobis distance (MD) is used to rank software modules based on dependability attributes at early phase of development. This entire process of dependability analysis will help to optimize resource utilization, development cost, and meet the target release time. Different comparison criteria are used to compare the effectiveness of the proposed model with some existing models based on four datasets. Performance analysis demonstrates effectiveness and usefulness for identifying and ranking the non-dependable software modules during early phase of development.
Similar content being viewed by others
Data availability
Data is available in the web page “http://promise.site.uottawa.ca/SERepository”.
References
Ab Aziz, M. F., Mostafa, S. A., Cik, C. F., Mohammed, M. A., Elhoseny, M., & Abualkishik, A. (2021). Integrating Elman recurrent neural network with particle swarm optimization algorithms for an improved hybrid training of multidisciplinary datasets. Expert Systems with Applications. https://doi.org/10.1016/j.eswa.2021.115441
Abaei, G., Selamat, A., & Al Dallal, J. (2020a). A fuzzy logic expert system to predict module fault proneness using unlabeled data. Journal of King Saud University Computer and Information Sciences, 32(6), 684–699. https://doi.org/10.1016/j.jksuci.2018.08.003
Abaei, G., Selamat, A., & Al, J. (2020b). A fuzzy logic expert system to predict module fault proneness using unlabeled data. Journal of King Saud University Computer and Information Sciences, 32(6), 684–699. https://doi.org/10.1016/j.jksuci.2018.08.003
Ansari, A. Q., Biswas, R., & Aggarwal, S. (2013). Neutrosophic classifier: An extension of fuzzy classifer. Applied Soft Computing Journal, 13(1), 563–573. https://doi.org/10.1016/j.asoc.2012.08.002
Avižienis, A., Laprie, J. C., Randell, B., & Landwehr, C. (2004). Basic concepts and taxonomy of dependable and secure computing. IEEE Transactions on Dependable and Secure Computing, 1(1), 11–33. https://doi.org/10.1109/TDSC.2004.2
Basha, S. H., Abdalla, A. S., & Hassanien, A. E. (2016). NRCS: neutrosophic rule-based classification system. In Proceedings of SAI intelligent systems conference (pp. 627–639).
Basha, S. H., Tharwat, A., Abdalla, A., & Hassanien, A. E. (2019). Neutrosophic rule-based prediction system for toxicity effects assessment of biotransformed hepatic drugs. Expert Systems with Applications, 121, 142–157. https://doi.org/10.1016/j.eswa.2018.12.014
Bisi, M., & Goyal, N. K. (2015). Early prediction of software fault-prone module using artificial neural network. International Journal of Performability Engineering, 11(1), 43–52.
Chakraborty, S., Krishna, R., Ding, Y., & Ray, B. (2022). Deep learning based vulnerability detection: Are we there yet? IEEE Transactions on Software Engineering, 48(9), 3280–3296. https://doi.org/10.1109/TSE.2021.3087402
Chandra, R., & Zhang, M. (2012). Cooperative coevolution of Elman recurrent neural networks for chaotic time series prediction. Neurocomputing, 86, 116–123. https://doi.org/10.1016/j.neucom.2012.01.014
Chatterjee, S., Saha, D., Sharma, A., & Verma, Y. (2021). Reliability and optimal release time analysis for multi up-gradation software with imperfect debugging and varied testing coverage under the effect of random field environments. Annals of Operations Research.
Chatterjee, S., & Maji, B. (2016). A new fuzzy rule based algorithm for estimating software faults in early phase of development. Soft Computing, 20(10), 4023–4035. https://doi.org/10.1007/s00500-015-1738-x
Chatterjee, S., & Maji, B. (2018a). A Mahalanobis distance based algorithm for assigning rank to the predicted fault prone software modules. Applied Soft Computing Journal, 70, 764–772. https://doi.org/10.1016/j.asoc.2018.06.032
Chatterjee, S., & Maji, B. (2018b). A bayesian belief network based model for predicting software faults in early phase of software development process. Applied Intelligence, 48(8), 2214–2228. https://doi.org/10.1007/s10489-017-1078-x
Chatterjee, S., & Maji, B. (2020). A fuzzy logic-based model for classifying software modules in order to achieve dependable software. International Journal of Service Science, Management, Engineering, and Technology, 11(4), 45–57. https://doi.org/10.4018/IJSSMET.2020100103
Chatterjee, S., Saha, D., & Sharma, A. (2021a). Multi-upgradation software reliability growth model with dependency of faults under change point and imperfect debugging. Journal of Software: Evolution and Process, 33(6), 1–15. https://doi.org/10.1002/smr.2344
Chatterjee, S., & Shukla, A. (2017). An ideal software release policy for an improved software reliability growth model incorporating imperfect debugging with fault removal efficiency and change point. Asia-Pacific Journal of Operational Research. https://doi.org/10.1142/S0217595917400176
Chicco, D., Tötsch, N., & Jurman, G. (2021). The Matthews correlation coefficient (MCC) is more reliable than balanced accuracy, bookmaker informedness, and markedness in two-class confusion matrix evaluation. BioData Mining, 14, 1–22.
Chouhan, S. S., & Rathore, S. S. (2021). Generative adversarial networks-based imbalance learning in software aging-related bug prediction. IEEE Transactions on Reliability, 70(2), 626–642. https://doi.org/10.1109/TR.2021.3052510
Du, X., Lu, H., & Liu, G. (2013). Software Aging Prediction based on Extreme Learning Machine. TELKOMNIKA (Vol. 11).
Elish, K. O., & Elish, M. O. (2008). Predicting defect-prone software modules using support vector machines. Journal of Systems and Software, 81(5), 649–660. https://doi.org/10.1016/j.jss.2007.07.040
Elmidaoui, S., Cheikhi, L., Idri, A., & Abran, A. (2020). Machine learning techniques for software maintainability prediction: Accuracy analysis. Journal of Computer Science and Technology, 35(5), 1147–1174. https://doi.org/10.1007/s11390
Fenton, N., Neil, M., & Marquez, D. (2008). Using Bayesian networks to predict software defects and reliability. Proceedings of the Institution of Mechanical Engineers, Part O Journal of Risk and Reliability, 222(4), 701–712. https://doi.org/10.1243/1748006XJRR161
Filus, K., Boryszko, P., Domańska, J., Siavvas, M., & Gelenbe, E. (2021). Efficient feature selection for static analysis vulnerability prediction. Sensors (switzerland), 21(4), 1–25. https://doi.org/10.3390/s21041133
Grottke, M., Li, L., Vaidyanathan, K., & Trivedi, K. S. (2006). Analysis of software aging in a Web server. IEEE Transactions on Reliability, 55(3), 411–420. https://doi.org/10.1109/TR.2006.879609
Gupta, S., & Chug, A. (2020). Software maintainability prediction using an enhanced random forest algorithm. Journal of Discrete Mathematical Sciences and Cryptography, 23(2), 441–449. https://doi.org/10.1080/09720529.2020.1728898
Gupta, S., Modgil, S., Bhattacharyya, S., & Bose, I. (2022). Artificial intelligence for decision support systems in the field of operations research: Review and future scope of research. Annals of Operations Research, 308(1–2), 215–274. https://doi.org/10.1007/s10479-020-03856-6
Jha, S., Kumar, R., Hoang Son, L., Abdel-Basset, M., Priyadarshini, I., Sharma, R., & Viet Long, H. (2019). Deep Learning Approach for Software Maintainability Metrics Prediction. IEEE Access, 7, 61840–61855. https://doi.org/10.1109/ACCESS.2019.2913349
Jia, W., Zhao, D., Tang, Y., Hu, C., & Zhao, Y. (2014). An optimized classification algorithm by neural network ensemble based on PLS and OLS. Mathematical Problems in Engineering. https://doi.org/10.1155/2014/395263
Jin, C., & Jin, S. W. (2015). Prediction approach of software fault-proneness based on hybrid artificial neural network and quantum particle swarm optimization. Applied Soft Computing Journal, 35, 717–725. https://doi.org/10.1016/j.asoc.2015.07.006
Jin, C., Jin, S. W., & Ye, J. M. (2012). Artificial neural network-based metric selection for software fault-prone prediction model. IET Software, 6(6), 479–487. https://doi.org/10.1049/iet-sen.2011.0138
Junsong, W., Jiukun, W., Maohua, Z., & Junjie, W. (2009). Prediction of internet traffic based on Elman neural network. In 2009 Chinese Control and Decision Conference, CCDC (Vol. 2009, No. 2, pp. 1248–1252). https://doi.org/10.1109/CCDC.2009.5192639
Katoch, S., Chauhan, S. S., & Kumar, V. (2021). A review on genetic algorithm: past, present, and future. Multimedia Tools and Applications., 80, 8091–9126.
Kaur, A. (2008). Application of random forest in predicting fault-prone classes Ruchika Malhotra, pp. 37–43. https://doi.org/10.1109/ICACTE.2008.204
Konak, A., Coit, D. W., & Smith, A. E. (2006). Multi-objective optimization using genetic algorithms: A tutorial. Reliability Engineering and System Safety, 91(9), 992–1007. https://doi.org/10.1016/j.ress.2005.11.018
Kumar, R. S., & Satyanarayana, B. (2015). Adaptive genetic algorithm based artificial neural network for software defect prediction. Global Journal of Computer Science and Technology, 15(1), 23–32.
Lee, C. K. H. (2018). A review of applications of genetic algorithms in operations management. Engineering Applications of Artificial Intelligence, 76, 1–12. https://doi.org/10.1016/j.engappai.2018.08.011
Mafarja, M., Thaher, T., Al-Betar, M. A., Too, J., Awadallah, M. A., Abu Doush, I., & Turabieh, H. (2023). Classification framework for faulty-software using enhanced exploratory whale optimizer-based feature selection scheme and random forest ensemble learning. Applied Intelligence. https://doi.org/10.1007/s10489-022-04427-x
Mauša, G., Grbac, T. G., & Bašić, B. D. (2012). Multivariate logistic regression prediction of fault-proneness in software modules, pp. 698–703.
Mccabe, T. J. (1976). A complexity. IEEE Transactions on Software Engineering, SE, 2(4), 308–320.
Miholca, D. L., Czibula, G., & Czibula, I. G. (2018). A novel approach for software defect prediction through hybridizing gradual relational association rules with artificial neural networks. Information Sciences, 441, 152–170. https://doi.org/10.1016/j.ins.2018.02.027
Moshtari, S., Sami, A., & Azimi, M. (2013). Using complexity metrics to improve software security. Computer Fraud and Security, 2013(5), 8–17. https://doi.org/10.1016/S1361-3723(13)70045-9
Pandey, A. K., & Goyal, N. K. (2010). Fault prediction model by fuzzy profile development of reliability relevant software metrics. International Journal of Computer Applications, 11(6), 34–41. https://doi.org/10.5120/1584-2124
Pandey, A. K., & Goyal, N. K. (2012). Predicting fault-prone software module using data mining technique and fuzzy logic. International Journal of Computer and Communication Technology. https://doi.org/10.47893/ijcct.2012.1105
Pandey, S. K., Mishra, R. B., & Tripathi, A. K. (2020). BPDET: An effective software bug prediction model using deep representation and ensemble learning techniques. Expert Systems with Applications. https://doi.org/10.1016/j.eswa.2019.113085
Pham, H., & Wang, H. (2006). Springer series in reliability engineering. Springer. https://doi.org/10.1007/978-1-4471-4588-2
Qiao, L., Li, X., Umer, Q., & Guo, P. (2020). Deep learning based software defect prediction. Neurocomputing, 385, 100–110. https://doi.org/10.1016/j.neucom.2019.11.067
Rouvray, D. H. (1996). Fuzzy sets and fuzzy logic: Theory and applications. Endeavour (Vol. 20). https://doi.org/10.1016/s0160-9327(96)90083-6
Saha, D., & Chatterjee, S. (2022). Optimized decision tree-based early phase software dependability analysis in uncertain environment. In 2022 International Interdisciplinary Conference on Mathematics, Engineering and Science (MESIICON) (pp. 1–6). IEEE. https://doi.org/10.1109/MESIICON55227.2022.10093237
Sethi, T., & Gagandeep. (2016). Improved approach for software defect prediction using artificial neural networks. 2016 5th International Conference on Reliability, Infocom Technologies and Optimization, ICRITO 2016: Trends and Future Directions, 480–485. https://doi.org/10.1109/ICRITO.2016.7785003
Singh, P., Pal, N. R., Verma, S., & Vyas, O. P. (2017). Fuzzy rule-based approach for software fault prediction. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 47(5), 826–837. https://doi.org/10.1109/TSMC.2016.2521840
Sommerville, I. (2016). Software engineering (10th edition). Pearson Education Limited.
Suresh Kumar, R., & Satyanarayana, B. (2015). Adaptive Genetic Algorithm Based Artificial Neural Network for Software Defect Prediction. Type: Double Blind Peer Reviewed International Research Journal Publisher: Global Journals Inc, 15.
Wang, T., & Li, W. H. (2010). Naïve bayes software defect prediction model. In 2010 International Conference on Computational Intelligence and Software Engineering, CiSE 2010, (2006), pp. 1–4. https://doi.org/10.1109/CISE.2010.5677057
Wang, J., Shen, B., & Chen, Y. (2012). Compressed C4.5 models for software defect prediction. Proceedings International Conference on Quality Software, 2(1), 13–16. https://doi.org/10.1109/QSIC.2012.19
Xu, L., Yu, X., & Gulliver, T. A. (2021). Intelligent outage probability prediction for mobile IoT networks based on an IGWO-Elman neural network. IEEE Transactions on Vehicular Technology, 70(2), 1365–1375. https://doi.org/10.1109/TVT.2021.3051966
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. https://doi.org/10.1016/j.infsof.2015.03.001
Yu, W., Li, B., Jia, H., Zhang, M., & Wang, D. (2015). Application of multi-objective genetic algorithm to optimize energy efficiency and thermal comfort in building design. Energy and Buildings, 88, 135–143. https://doi.org/10.1016/j.enbuild.2014.11.063
Zhang, H., & Zhang, X. (2007). Comments on “Data mining static code attributes to learn defect predictors.” IEEE Transactions on Software Engineering, 33(9), 635–636. https://doi.org/10.1109/TSE.2007.70706
Acknowledgements
Authors are thankful to Indian Institute of Technology (ISM), Dhanbad, India for providing facility.
Funding
The author(s) have not received any funding for the research.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Chatterjee, S., Saha, D. Software dependability analysis under neutrosophic environment using optimized Elman recurrent neural network-based classification algorithm and Mahalanobis distance-based ranking algorithm. Ann Oper Res (2024). https://doi.org/10.1007/s10479-024-05888-8
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10479-024-05888-8