Deriving and validating fault metric for object oriented systems using use case diagram
Tóm tắt
A significant quality factor reliability is an important requirement for all software systems. Reliability analysis and evaluation for a system is necessary for the success of these systems. This paper proposes a fault metric called use case fault metric (UCFM) for object-oriented systems using use case diagram and is built on the theory of Fault Tree Analysis (FTA). The goal is to address an important issue of measuring reliability of object-oriented systems during initial stages of software development. This goal is achieved by extending the model-driven software development process with the concept of Fault Tree Analysis (FTA). The Fault Tree analysis is performed in bottom-up way to compute quantitatively the proposed metric called UCFM. The proposed approach transforms the use case in an equivalent Fault Tree. This FTA is used to compute a metric that quantifies the probability of occurrence of faults in different use cases. The UCFM value is computed at use case, use case diagram and system level. The proposed metric is validated theoretically using measurement theory and practically using Kaner’s framework.
Tài liệu tham khảo
[ISO01] (2001) ISO/IEC 9126–1: Information technology-software product quality—part 1: quality model
Henry S, Kafura D (1981) Software structure metrics based on information flow. IEEE Trans Softw Eng 7:510–518. https://doi.org/10.1109/TSE.1981.231113
Lauer C, German R, Pollmer J (2011) Fault tree synthesis from UML models for reliability analysis at early design stages. ACM SIGSOFT Softw Eng Notes 36:1–7. https://doi.org/10.1145/1921532.1921558
Balz E, Goll J (2013) Use case-based fault tree analysis of safety-related embedded systems. In: Proceedings of international conference on software engineering and applications, Phoenix, AZ, USA, pp 322–330
ISO/IEC/IEEE 24765 (2010) Systems and Software Engineering, 2010
Towhidnejad M, Wallace DR, Gallo AM (2003) Validation of object oriented software design with fault tree analysis. In: Proceedings of the 28th Annual NASA Goddard Software Engineering Workshop, IEEE, pp 209–215
Needham D, Jones S (2006) A software fault tree metric. In: Proceedings of the 22nd IEEE International Conference on software maintenance, IEEE, pp 401–410. https://doi.org/10.1109/ICSM.2006.8.
Pai G, Dugan J (2002) Automatic synthesis of dynamic fault trees from UML system models. In: Proceedings of the 13th International Symposium on software reliability engineering (ISSRE’02). https://doi.org/10.1109/ISSRE.2002.1173261
Dugan JB, Sullivan KJ, Coppit D (2000) Developing a low-cost high-quality software tool for dynamic fault tree analysis. IEEE Trans Reliab 49:49–59. https://doi.org/10.1109/24.855536
Helmer G, Wong J, Slagell M, Honavar V, Lutz R (2002) A software fault tree approach to requirement analysis of an intrusion detection system. Sympos Require Eng Inf Secur 7(4):201–220
Wang Y, Teague T, West H, Sam MM (2002) A new algorithm for computer aided synthesis. J Loss Prev Process Ind 15(4):265–277. https://doi.org/10.1016/S0950-4230(02)00011-6
Mutha C and Shmidts C (2011) An early design stage UML-based safety analysis approach for high assurance software systems. In: IEEE 13th International Symposium on high-assurance systems engineering (HASE)
Sabharwal S, Sibal R, Sharma C (2016) Deriving fault trigger metric for web based systems. J Web Eng 15(1 & 2):001–028
Tian P, Wang J, Zhang W, Liu J (2009) A fault tree analysis based software system reliability allocation using genetic algorithm optimization. In: World Congress on Software Engineering, IEEE, pp 194–198. https://doi.org/10.1109/WCSE.2009.227
Ying R, Hong L, Huawei L (2011) Research on technique of software testing based on fault tree analysis. In: Proceedings of International Conference on computer science and network technology, IEEE, pp 1718–1720
Lutz R (2000) Extending the product family approach to support safe reuse. J Syst Softw 53(3):207–217. https://doi.org/10.1016/S0164-1212(00)00012-1
Dehlinger J, Lutz R (2006) Plfaultcat: a product-line software fault tree analysis tool. Autom Softw Eng 13(1):160–193. https://doi.org/10.1007/s10515-006-5469-1
Zhao Z, and Petriu C (2015) UML model to fault tree model transformation for dependability analysis. In: Proceedings of the International Conference on computer and information science and technology Ottawa, Ontario, Canada
Henderson-Sellers B (1995) Object-oriented metrics: measures of complexity. Prentice-Hall (ISBN:0132398729)
https://explorable.com/construct-validity. Accessed 19 Aug 2020
Towhidnejad M, Wallace DR, Gallo (2002) Fault tree analysis for software design. In: Proceedings of 27th annual NASA Goddard/IEEE software engineering workshop. https://doi.org/10.1109/SEW.2002.1199446
Briand L, Morasca S, Basili V (1996) Property based software engineering measurement. IEEE Trans Software Eng 22(1):68–86. https://doi.org/10.1109/32.481535
Halstead M (1977) Elements of software science. Elsevier
Chidamber S, Kemerer F (1993) A metric suite for object-oriented design. MIT Sloan School of Management
Kaner C, Bond W (2004) Software engineering metrics: what do they measure and how do we know? In: Proceedings of the 10th international software metrics symposium, METRICS 2004. IEEE. 10.1.1.1.2542
Dickerson CE, Roslan R, Ji S (2018) A formal transformation method for automated fault tree generation from a UML activity model. IEEE Trans Reliab 67(3):1219–1236. https://doi.org/10.1109/TR.2018.2849013
Nordmann A, Munk P (2018) Lessons learned from model-based safety assessment with SysML and component fault trees. In: Proceedings of international conference on model driven engineering languages and systems (MODELS), Copenhagen, Denmark, pp 134–143. https://doi.org/10.1145/3239372.3239373
Abreu F (1995) The MOOD Metrics Set. In: Proceedings of ECOOP’ 95 Workshop on metrics
Bieman J, Kang B (1995) Cohesion and reuse in an object-oriented system. In: Proceedings of the ACM symposium on software reusability, pp 259–262
McCabe T (1976) A complexity measure. IEEE Trans Software Eng 4:308–320. https://doi.org/10.1109/tse.1976.233837
Lorenz M, Kidd J (1994) Object-oriented software metrics. Prentice Hall