Abstract
Software reliability is one of the most important software quality attributes. It is generally predicted using different software metrics that measure internal quality attributes like cohesion and complexity. Therefore, continuous focus on software metrics proposed to predict software reliability still required. In this context, an entropy-based suite of four metrics is proposed to monitor this attribute. The different metrics composing this suite are manually computed and only theoretically validated. Hence, we aim to propose an empirical approach to validate them as useful indicators of software reliability. Therefore, we start by assessing these metrics, using a set of programs retrieved from real software projects. The obtained dataset is served to empirically validate them as reliability indicators. Given that software reliability as external attribute, cannot be directly evaluated, we use two main experiments to perform the empirical validation of these metrics. In the first experiment, we study the relationship between the redundancy metrics and measurable attributes of reliability like fault-proneness. In the second one, we study whether the combination of redundancy metrics with existed complexity and size metrics that are validated as significant reliability indicators can ameliorate the performance of the developed fault-proneness prediction model. The validation is carried out using appropriate machine learning techniques. The experiments outcome showed up that, redundancy metrics provide promising results as indicators of software reliability.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Boehm Barry, W., Brown John R., Lipow, Mlity: Quantitative evaluation of software quality. In: Proceedings of the 2nd International Conference On Software Engineering, pp. 592–605 (1976)
Iso, ISO: iec/ieee international standard-systems and software engineering-vocabulary. In: ISO/IEC/IEEE 24765 (2017)
Fenton, N., Bieman, J.: Software metrics: a rigorous and practical approach. CRC Press (2014)
Arvanitou, E., Ampatzoglou, A., Chatzigeorgiou, A., Galster M., Avgeriou, P.: A mapping study on design-time quality attributes and metrics. In: Journal of Systems and Software, pp. 52–77. Elsevier (2017)
Fenton, N.: Software measurement: A necessary scientific basis. In: IEEE Transactions on Software Engineering, pp. 199–206. Elsevier (1994)
Gómez, O., Oktaba, H., Piattini, M., García, F.: A systematic review measurement in software engineering: state-of-the-art in measures. In: Filipe, J., Shishkov, B., Helfert, M. (eds.) ICSOFT 2006. CCIS, vol. 10, pp. 165–176. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-70621-2_14
Lyu Michael, R.: Handbook of software reliability engineering. In: IEEE Computer Society Press CA, pp. 165–176. IEEE (1996)
Nuñez-Varela, S., Pérez G., Héctor, G., Martínez P., Francisco E., Soubervielle-Montalvo, C.: Source code metrics: A systematic mapping study. In: Journal of Systems and Software, pp. 164–197. Elsevier (2017)
Reddivari, S., Raman, J.: Software Quality Prediction: An Investigation Based on Machine Learning. In: 2019 IEEE 20th International Conference on Information Reuse and Integration for Data Science (IRI), pp. 115–122. IEEE (2019)
Chidamber S.R., Kemerer, C.F.: A metrics suite for object oriented design. In: IEEE Transactions on software engineering, pp. 476–493. IEEE (1994)
Li, W.: Another metric suite for object-oriented programming. In: Journal of Systems and Software, pp. 155–162. Elsevier (1998)
Briand, L.C., Wüst, J.: Empirical studies of quality models in object-oriented systems. In: Advances in Computers, pp. 97–166. Elsevier (2002)
Jabangwe, R., Börstler, J., Šmite, D., Wohlin, C.: Empirical evidence on the link between object-oriented measures and external quality attributes: a systematic literature review. Empirical Softw. Eng. 20(3), 640–693 (2014). https://doi.org/10.1007/s10664-013-9291-7
Mili, A., Jaoua, A., Frias, M., Helali, R.G.M.: Semantic metrics for software products. Innov. Syst. Softw. Eng. 10(3), 203–217 (2014). https://doi.org/10.1007/s11334-014-0233-3
Mili, A., Tchier, F.: Software testing: Concepts and operations. In: John Wiley & Sons. (2015)
Shannon, C.E.: A mathematical theory of communication. In: ACM SIGMOBILE Mobile Computing and Communications Review, pp. 3–55. Springer (2001)
Singh, V.B., Chaturvedi, K.K.: Semantic metrics for software products. In: International Conference on Computational Science and Its Applications, pp. 408–426. Springer (2013)
Singh, V.B., Chaturvedi, K.K.: Software reliability modeling based on ISO/IEC SQuaRE. In: Information and Software Technology, pp. 18–29. Elsevier (2016)
Amara, D., Rabai, L.B.A.: Towards a new framework of software reliability measurement based on software metrics. In: Procedia Computer Science, pp. 725–730. Elsevier (2017)
Bansiya, J., Davis, C.G.: A hierarchical model for object-oriented design quality assessment. In: IEEE Transactions on software Engineering, pp. 4–17. IEEE, (2002)
Catal, C., Diri, B.: A systematic review of software fault prediction studies. In: Expert Systems with Applications, pp. 7346–7354. Elsevier (2009)
Radjenović, D., Heričko, M., Torkar, R., Živkovič, A.: Software fault prediction metrics: A systematic literature review. In: Information and Software Technology, pp. 1397–1418. Elsevier (2013)
Asghari, S.A., Marvasti, M.B., Rahmani, A.M.: Enhancing transient fault tolerance in embedded systems through an OS task level redundancy approach. In: Future Generation Computer Systems, pp. 58–65. Elsevier (2018)
Dubrova, E.: Fault-tolerant design. Springer (2013). https://doi.org/10.1007/978-1-4614-2113-9
Ayad, A., Marsit, I., Mohamed Omri, N., Loh, J.M., Mili, A.: Using semantic metrics to predict mutation equivalence. In: van Sinderen, M., Maciaszek, L.A. (eds.) ICSOFT 2018. CCIS, vol. 1077, pp. 3–27. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-29157-0_1
Singh, A., Bhatia, R., Singhrova, A.: Taxonomy of machine learning algorithms in software fault prediction using object oriented metrics. In: Procedia Computer Science, pp. 993–1001. Elsevier (2018)
Rathore, S.S., Kumar, S.: An empirical study of some software fault prediction techniques for the number of faults prediction. Soft Comput. 21(24), 7417–7434 (2016). https://doi.org/10.1007/s00500-016-2284-x
Kumar, L., Misra, S., Rath, S.Ku.: An empirical analysis of the effectiveness of software metrics and fault prediction model for identifying faulty classes. In: Computer Standards & Interfaces, pp. 1–32. Elsevier (2017)
Gondra, I.: Applying machine learning to software fault-proneness prediction. In: Journal of Systems and Software, pp. 186–195. Elsevier (2008)
Ayad, A., Marsit, I., Mohamed Omri, N., Loh, J.M., Mili, A.: Using semantic metrics to predict mutation equivalence. In: van Sinderen, M., Maciaszek, L.A. (eds.) ICSOFT 2018. CCIS, vol. 1077, pp. 3–27. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-29157-0_1
Menzies, T., DiStefano, J., Orrego, A., Chapman, R.: Assessing predictors of software defects. In: Proceedings of the Workshop Predictive Software Models (2004)
Olague, H.M. Etzkorn, L.H., Gholston, S., Quattlebaum, S.: Empirical validation of three software metrics suites to predict fault-proneness of object-oriented classes developed using highly iterative or agile software development processes. In: IEEE Transactions on software Engineering, pp. 402–419. IEEE (2007)
Zhou, Y., Xu, B., Leung, H.: On the ability of complexity metrics to predict fault-prone classes in object-oriented systems. In: Journal of Systems and Software, pp. 660–674. Elsevier (2010)
He, P., Li, B., Liu, X., Chen, J., Ma, Y.: An empirical study on software defect prediction with a simplified metric set. In: Information and Software Technology, pp. 170–190. Elsevier (2015)
Kaur, A., Kaur, I.: An empirical evaluation of classification algorithms for fault prediction in open source projects. In: Journal of King Saud University-Computer and Information Sciences, pp. 2–17. Elsevier (2018)
Lomio, F., Moreschini, S., Lenarduzzi, V.: Fault Prediction based on Software Metrics and SonarQube Rules. Machine or Deep Learning?. In: arXiv preprint arXiv:2103.11321 Elsevier (2021)
Kitchenham, B., Pfleeger, S.L., Fenton, N.: Towards a framework for software measurement validation. In: IEEE Transactions on Software Engineering, pp. 929–944, IEEE (1995)
Basili, V.R., Briand, L.C., Melo, W.L.: A validation of object-oriented design metrics as quality indicators. In: IEEE Transactions on Software Engineering, pp. 751–761, IEEE (1996)
Schneidewind, N.F.: Methodology for validating software metrics. In: IEEE Transactions on Software Engineering, pp. 410–422, IEEE (1992)
Arvanitou, E.Maria., Ampatzoglou, A., Chatzigeorgiou, A., Avgeriou, P.: Software metrics fluctuation: a property for assisting the metric selection process. In: Information and Software Technology, pp. 110–124, Elsevier (2016)
Kumar, L.N., Debendra, K., Rath, S.Ku.: Validating the effectiveness of object-oriented metrics for predicting maintainability. In: Procedia Computer Science, pp. 798–806, Elsevier (2015)
Verma, D.K., Kumar, S.: Prediction of Defect Density for Open Source Software using Repository Metrics. In: J. Web Eng, pp. 294–311 (2017)
Malhotra, R.: A systematic review of machine learning techniques for software fault prediction. In: Applied Soft Computing, pp. 504–518, Elsevier (2015)
Turabieh, H., Mafarja, M., Li, X.: Iterated feature selection algorithms with layered recurrent neural network for software fault prediction. In: Expert Systems with Applications, pp. 27–42, Elsevier (2019)
Amara, D., Fatnassi, E., Rabai, L.: An Empirical Assessment and Validation of Redundancy Metrics Using Defect Density as Reliability Indicator. In: Scientific Programming, Hindawi (2021)
Rathore, S.S., Kumar, S.: Software fault prediction based on the dynamic selection of learning technique: findings from the eclipse project study. Appl. Intell. 51(12), 8945–8960 (2021). https://doi.org/10.1007/s10489-021-02346-x
Delahaye, M., Du Bousquet, L.: A comparison of mutation analysis tools for java. In: 13th International Conference on Quality Software, pp. 187–195, IEEE (2013)
Bansiya, J., Davis, C.G.: A hierarchical model for object-oriented design quality assessment. In: IEEE Transactions on Software Engineering, pp. 4–17, IEEE (2002)
Gall, CS., et al.: Semantic software metrics computed from natural language design specifications. In: IET Software, pp. 17–26, IET (2008)
Koru, A.G., Liu, H.: Building effective defect-prediction models in practice. In: IEEE Software, pp. 23–29, IEEE (2005)
Amara, D., Rabai, L.B.A.: Classification Techniques Use to Empirically Validate Redundancy Metrics as Reliability Indicators based on Fault-proneness Attribute. In: ENASE, pp. 209–220, ENASE, (2022)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Amara, D., Ben Arfa Rabai, L. (2023). Empirical Validation of Entropy-Based Redundancy Metrics as Reliability Indicators Using Fault-Proneness Attribute and Complexity Metrics. In: Kaindl, H., Mannion, M., Maciaszek, L.A. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2022. Communications in Computer and Information Science, vol 1829. Springer, Cham. https://doi.org/10.1007/978-3-031-36597-3_5
Download citation
DOI: https://doi.org/10.1007/978-3-031-36597-3_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-36596-6
Online ISBN: 978-3-031-36597-3
eBook Packages: Computer ScienceComputer Science (R0)