Skip to main content

Empirical Validation of Entropy-Based Redundancy Metrics as Reliability Indicators Using Fault-Proneness Attribute and Complexity Metrics

  • Conference paper
  • First Online:
Evaluation of Novel Approaches to Software Engineering (ENASE 2022)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://metrics.sourceforge.net/.

References

  1. 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)

    Google Scholar 

  2. Iso, ISO: iec/ieee international standard-systems and software engineering-vocabulary. In: ISO/IEC/IEEE 24765 (2017)

    Google Scholar 

  3. Fenton, N., Bieman, J.: Software metrics: a rigorous and practical approach. CRC Press (2014)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. Fenton, N.: Software measurement: A necessary scientific basis. In: IEEE Transactions on Software Engineering, pp. 199–206. Elsevier (1994)

    Google Scholar 

  6. 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

    Chapter  Google Scholar 

  7. Lyu Michael, R.: Handbook of software reliability engineering. In: IEEE Computer Society Press CA, pp. 165–176. IEEE (1996)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. Chidamber S.R., Kemerer, C.F.: A metrics suite for object oriented design. In: IEEE Transactions on software engineering, pp. 476–493. IEEE (1994)

    Google Scholar 

  11. Li, W.: Another metric suite for object-oriented programming. In: Journal of Systems and Software, pp. 155–162. Elsevier (1998)

    Google Scholar 

  12. Briand, L.C., Wüst, J.: Empirical studies of quality models in object-oriented systems. In: Advances in Computers, pp. 97–166. Elsevier (2002)

    Google Scholar 

  13. 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

    Article  Google Scholar 

  14. 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

    Article  Google Scholar 

  15. Mili, A., Tchier, F.: Software testing: Concepts and operations. In: John Wiley & Sons. (2015)

    Google Scholar 

  16. Shannon, C.E.: A mathematical theory of communication. In: ACM SIGMOBILE Mobile Computing and Communications Review, pp. 3–55. Springer (2001)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. Singh, V.B., Chaturvedi, K.K.: Software reliability modeling based on ISO/IEC SQuaRE. In: Information and Software Technology, pp. 18–29. Elsevier (2016)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. Catal, C., Diri, B.: A systematic review of software fault prediction studies. In: Expert Systems with Applications, pp. 7346–7354. Elsevier (2009)

    Google Scholar 

  22. 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)

    Google Scholar 

  23. 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)

    Google Scholar 

  24. Dubrova, E.: Fault-tolerant design. Springer (2013). https://doi.org/10.1007/978-1-4614-2113-9

  25. 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

    Chapter  Google Scholar 

  26. 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)

    Google Scholar 

  27. 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

    Article  Google Scholar 

  28. 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)

    Google Scholar 

  29. Gondra, I.: Applying machine learning to software fault-proneness prediction. In: Journal of Systems and Software, pp. 186–195. Elsevier (2008)

    Google Scholar 

  30. 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

    Chapter  Google Scholar 

  31. Menzies, T., DiStefano, J., Orrego, A., Chapman, R.: Assessing predictors of software defects. In: Proceedings of the Workshop Predictive Software Models (2004)

    Google Scholar 

  32. 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)

    Google Scholar 

  33. 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)

    Google Scholar 

  34. 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)

    Google Scholar 

  35. 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)

    Google Scholar 

  36. 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)

  37. 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)

    Google Scholar 

  38. 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)

    Google Scholar 

  39. Schneidewind, N.F.: Methodology for validating software metrics. In: IEEE Transactions on Software Engineering, pp. 410–422, IEEE (1992)

    Google Scholar 

  40. 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)

    Google Scholar 

  41. 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)

    Google Scholar 

  42. Verma, D.K., Kumar, S.: Prediction of Defect Density for Open Source Software using Repository Metrics. In: J. Web Eng, pp. 294–311 (2017)

    Google Scholar 

  43. Malhotra, R.: A systematic review of machine learning techniques for software fault prediction. In: Applied Soft Computing, pp. 504–518, Elsevier (2015)

    Google Scholar 

  44. 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)

    Google Scholar 

  45. 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)

    Google Scholar 

  46. 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

    Article  Google Scholar 

  47. 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)

    Google Scholar 

  48. 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)

    Google Scholar 

  49. Gall, CS., et al.: Semantic software metrics computed from natural language design specifications. In: IET Software, pp. 17–26, IET (2008)

    Google Scholar 

  50. Koru, A.G., Liu, H.: Building effective defect-prediction models in practice. In: IEEE Software, pp. 23–29, IEEE (2005)

    Google Scholar 

  51. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Dalila Amara .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics