Advertisement

An Empirical Assessment of Functional Redundancy Semantic Metric

  • Dalila AmaraEmail author
  • Ezzeddine Fatnassi
  • Latifa Rabai
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 941)

Abstract

Software dependability is a generic concept that reflects the system’ trustworthiness by its users. It consists of different quality attributes like reliability and maintainability. To achieve dependable and reliable software systems, different dependability means are defined including fault tolerance. Most of fault tolerance techniques are based on the redundancy concept. To reflect the ability of a program to tolerate faults, the quantitative assessment of the program’ redundancy is required. Literature review shows that a set of semantic metrics whose objective is to assess the programs’ redundancy and to reflect their potential to tolerate faults is proposed. Despite the importance of the different metrics composing this suite, literature shows that they are manually computed for procedural programs, and only a theoretical basis of them is presented. Consequently, we aim in this paper to propose a way to automatically compute one of these metrics termed functional redundancy for different object oriented java programs. The automatic computing is necessary required for the different metrics to perform their empirical validation as software quality indicators.

Keywords

Software dependability Fault tolerance Semantic metrics Functional redundancy metric 

References

  1. 1.
    Randell, B., Laprie, J.C., Kopetz, H., Littlewood, B. (eds.): Predictably Dependable Computing Systems. Springer, Heidelberg (2013)zbMATHGoogle Scholar
  2. 2.
    Asghari, S.A., Marvasti, M.B., Rahmani, A.M.: Enhancing transient fault tolerance in embedded systems through an OS task level redundancy approach. Future Gener. Comput. Syst. 87, 58–65 (2018)CrossRefGoogle Scholar
  3. 3.
    Mili, A., Jaoua, A., Frias, M., Helali, R.G.M.: Semantic metrics for software products. Innov. Syst. Softw. Eng. 10(3), 203–217 (2014)CrossRefGoogle Scholar
  4. 4.
    Randell, B.: System structure for software fault tolerance. IEEE Trans. Softw. Eng. 2, 220–232 (1975)CrossRefGoogle Scholar
  5. 5.
    Pullum, L.L.: Software Fault Tolerance Techniques and Implementation. Artech House, Norwood (2001)zbMATHGoogle Scholar
  6. 6.
    Lyu, M.R.: Handbook of Software Reliability Engineering (1996)Google Scholar
  7. 7.
    Mili, A., Tchier, F.: Software Testing: Concepts and Operations. Wiley, New York (2015)Google Scholar
  8. 8.
    Amara, D., Fatnassi, E., Rabai, L.: An automated support tool to compute state redundancy semantic metric. In: International Conference on Intelligent Systems Design and Applications, pp. 262–272. Springer, Cham, December 2017Google Scholar
  9. 9.
    Avizienis, A., Laprie, J.C., Randell, B., Landwehr, C.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Secur. Comput. 1(1), 11–33 (2004)CrossRefGoogle Scholar
  10. 10.
    Laprie, J.C.: Dependability: basic concepts and terminology. In: Dependability: Basic Concepts and Terminology, pp. 3–245. Springer, Vienna (1992)CrossRefGoogle Scholar
  11. 11.
    Laprie, J.C.: Dependable computing and fault tolerance: concepts and terminology. In: Twenty-Fifth International Symposium on Fault-Tolerant Computing, 1995, p. 2. IEEE, June 1985Google Scholar
  12. 12.
    Isermann, R.: Fault-Diagnosis Systems: An Introduction from Fault Detection to Fault Tolerance. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  13. 13.
    Dubrova, E.: Fault-Tolerant Design, pp. 55–65. Springer, New York (2013)CrossRefGoogle Scholar
  14. 14.
    Jaoua, A., Mili, A.: The use of executable assertions for error detection and damage assessment. J. Syst. Softw. 12(1), 15–37 (1990)CrossRefGoogle Scholar
  15. 15.
    Carzaniga, A., Mattavelli, A., Pezzè, M.: Measuring software redundancy. In: Proceedings of the 37th International Conference on Software Engineering, vol. 1. pp. 156–166. IEEE Press, May 2015Google Scholar
  16. 16.
    Fenton, N., Bieman, J.: Software Metrics: A Rigorous and Practical Approach. CRC Press, Boca Raton (2014)CrossRefGoogle Scholar
  17. 17.
    Hamming, R.W.: Error detecting and error correcting codes. Bell Syst. Tech. J. 29(2), 147–160 (1950)MathSciNetCrossRefGoogle Scholar
  18. 18.
    Shannon, C.E.: A mathematical theory of communication. ACM SIGMOBILE Mob. Comput. Commun. Rev. 5(1), 3–55 (2001)MathSciNetCrossRefGoogle Scholar
  19. 19.
    Lyu, M.R., Huang, Z., Sze, S.K., Cai, X.: An empirical study on testing and fault tolerance for software reliability engineering. In: 14th International Symposium on Software Reliability Engineering, 2003, ISSRE 2003, pp. 119–130. IEEE, November 2003Google Scholar
  20. 20.
    Jiang, L., Su, Z.: Automatic mining of functionally equivalent code fragments via random testing. In: Proceedings of the Eighteenth International Symposium on Software Testing and Analysis, pp. 81–92. ACM, July 2009.  https://doi.org/10.1145/1572272.1572283
  21. 21.
    Davis, J.S., LeBlanc, R.J.: A study of the applicability of complexity measures. IEEE Trans. Softw. Eng. 14(9), 1366 (1988)CrossRefGoogle Scholar
  22. 22.
    Yazici, B., Yolacan, S.: A comparison of various tests of normality. J. Stat. Comput. Simul. 77(2), 175–183 (2007).  https://doi.org/10.1080/10629360600678310MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Thadewald, T., Büning, H.: Jarque-Bera test and its competitors for testing normality–a power comparison. J. Appl. Stat. 34(1), 87–105 (2007).  https://doi.org/10.1080/02664760600994539MathSciNetCrossRefzbMATHGoogle Scholar
  24. 24.
    Gall, C.S., Lukins, S., Etzkorn, L., Gholston, S., Farrington, P., Utley, D., Virani, S.: Semantic software metrics computed from natural language design specifications. IET Softw. 2(1), 17–26 (2008).  https://doi.org/10.1049/iet-sen:20070109CrossRefGoogle Scholar
  25. 25.
    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. IEEE Trans. Softw. Eng. 33(6), 402–419 (2007).  https://doi.org/10.1109/TSE.2007.1015CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • Dalila Amara
    • 1
    Email author
  • Ezzeddine Fatnassi
    • 1
    • 2
  • Latifa Rabai
    • 1
    • 3
  1. 1.SMART Lab, Institut Supérieur De Gestion De TunisUniversité de TunisTunisTunisie
  2. 2.Insitut des Hautes Etudes de TunisTunisTunisie
  3. 3.College of BusinessUniversity of BuraimiAl BuraimiSultanate of Oman

Personalised recommendations