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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Randell, B., Laprie, J.C., Kopetz, H., Littlewood, B. (eds.): Predictably Dependable Computing Systems. Springer, Heidelberg (2013)
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)
Mili, A., Jaoua, A., Frias, M., Helali, R.G.M.: Semantic metrics for software products. Innov. Syst. Softw. Eng. 10(3), 203–217 (2014)
Randell, B.: System structure for software fault tolerance. IEEE Trans. Softw. Eng. 2, 220–232 (1975)
Pullum, L.L.: Software Fault Tolerance Techniques and Implementation. Artech House, Norwood (2001)
Lyu, M.R.: Handbook of Software Reliability Engineering (1996)
Mili, A., Tchier, F.: Software Testing: Concepts and Operations. Wiley, New York (2015)
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 2017
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)
Laprie, J.C.: Dependability: basic concepts and terminology. In: Dependability: Basic Concepts and Terminology, pp. 3–245. Springer, Vienna (1992)
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 1985
Isermann, R.: Fault-Diagnosis Systems: An Introduction from Fault Detection to Fault Tolerance. Springer, Heidelberg (2006)
Dubrova, E.: Fault-Tolerant Design, pp. 55–65. Springer, New York (2013)
Jaoua, A., Mili, A.: The use of executable assertions for error detection and damage assessment. J. Syst. Softw. 12(1), 15–37 (1990)
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 2015
Fenton, N., Bieman, J.: Software Metrics: A Rigorous and Practical Approach. CRC Press, Boca Raton (2014)
Hamming, R.W.: Error detecting and error correcting codes. Bell Syst. Tech. J. 29(2), 147–160 (1950)
Shannon, C.E.: A mathematical theory of communication. ACM SIGMOBILE Mob. Comput. Commun. Rev. 5(1), 3–55 (2001)
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 2003
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
Davis, J.S., LeBlanc, R.J.: A study of the applicability of complexity measures. IEEE Trans. Softw. Eng. 14(9), 1366 (1988)
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/10629360600678310
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/02664760600994539
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:20070109
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.1015
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Amara, D., Fatnassi, E., Rabai, L. (2020). An Empirical Assessment of Functional Redundancy Semantic Metric. In: Abraham, A., Cherukuri, A., Melin, P., Gandhi, N. (eds) Intelligent Systems Design and Applications. ISDA 2018 2018. Advances in Intelligent Systems and Computing, vol 941. Springer, Cham. https://doi.org/10.1007/978-3-030-16660-1_25
Download citation
DOI: https://doi.org/10.1007/978-3-030-16660-1_25
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-16659-5
Online ISBN: 978-3-030-16660-1
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)