Validating Quality Metrics of State Machine Models

Authors

  • Ammar Osaiweran

DOI:

https://doi.org/10.59421/joeats.v3i2.2534

Keywords:

Software engineering, Model-based development, software quality, Model ttransformation, Software development

Abstract

Software metrics are widely used to measure the quality of software and to give an early indication of the efficiency of the development process in industry. There are many well-established frameworks for measuring the quality of source code through metrics, but limited attention has been paid to the quality of software models. In this article, we introduce new metrics that are tailored to measure the quality of models of state machines and then apply the metrics to evaluate the quality of state machine models specified using the Analytical Software Design (ASD) tooling. We discuss how we applied a number of metrics to ASD models in an industrial setting and report about results and lessons learned while collecting these metrics. Furthermore, we recommend some quality limits for each metric and validate them on models developed in a number of real industrial projects. This paper extends [19] by providing a formal and empirical validation of the metrics and their related limits. The results of our work provide a framework to measure the quality of state machine models, developed in ASD, and give a basis for future research on introducing quality metrics for other type of models of which quality metrics are missing.

References

ASML homepage. http://www.asml.com. (Accessed 2024).

F. Badeau and A. Amelot. Using B as a High Level Programming Language in an Industrial Project: Roissy VAL, p 334–354. Springer Berlin Heidelberg, 2005.

J.L. Boulanger, F.-X. Fornari, J.-L. Camus, and B. Dion. SCADE: Language and Applications. Wiley-IEEE Press, 1st edition, 2015.

CodeSonar homepage. http://www.grammatech.com. (Accessed 2024).

D. Coleman, D. Ash, B. Lowther, and P. Oman. Using metrics to evaluate software system maintainability. Computer, 27(8):44–49, Aug. 1994.

Formal Systems (Europe) Ltd. FDR2 model checker, 2011. http://www.fsel.com/

J.S. Fitzgerald, P. G. Larsen, and S. Sahara. Vdmtools: advances in support for formal modeling in VDM. SIGPLAN Notices, 43(2):3–11, 2008.

L. Guo, A.S. Vincentelli, and A. Pinto. A complexity metric for concurrent finite state machine based embedded software. In 2013 8th IEEE International SIES, p. 189– 195, 2013.

M. Fowler and K. Beck. Refactoring: Improving the Design of Existing Code. Component software series. Addison-Wesley, 1999.

M.H. Halstead. Elements of Software Science (Operating and Programming Systems Series). Elsevier Science Inc., New York, NY, USA, 1977.

C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1985.

J. Jurjens and S. Wagner. ¨ Component-Based Development of Dependable Systems with UML, pages 320–344. Springer Berlin Heidelberg, 2005.

T.J. McCabe. A complexity measure. IEEE Trans. Softw. Eng., 2(4):308–320, July 1976.

H. D. Mills. Stepwise refinement and verification in box-structured systems. Computer, 21(6):23–36, June 1988.

A. Osaiweran, M. Schuts, J. Hooman, J.F. Groote, and B. van Rijnsoever. Evaluating the effect of a lightweight formal technique in industry. Int. Jour. on STTT, Springer, 18(1):93–108, 2016.

A. Osaiweran, M. Schuts, J. Hooman, and J. Wesselius. Incorporating formal techniques into industrial practice: An experience report. ENTCS. 295:49–63, May 2013.

Tiobe homepage. http://www.tiobe.com. (Accessed 2024).

Verum homepage. http://www.asd.verum.com. (Accessed 2024). [19] Verifysoft homepage. http://www.verifysoft.com. (Accessed 2024).

A. Osaiweran, J. Marincic, and J. F. Groote, “Assessing the quality of tabular state machines through metrics,” in IEEE International Conference on Software Quality, Reliability and Security. Prague, Czech Republic: IEEE Computer Society, 2017, pp. 426–433.

C. Lambrechts, “Metrics for Control Models in a Model-Driven Engineering Environment”. PDEng thesis, Technische Universiteit Eindhoven, sept 2017.

E. J. Weyuker, “Evaluating software complexity measures,” IEEE Trans. Softw. Eng., vol. 14, no. 9, pp. 1357–1365, Sep. 1988.

J. Cardoso, “Process control-flow complexity metric: An empirical validation,” in Proceedings of the IEEE International Conference on Services Computing, ser. SCC ’06. Washington, DC, USA: IEEE Computer Society, 2006, pp.

M. V. Zelkowitz and D. R. Wallace, “Experimental models for validating technology,” Computer, vol. 31, no. 5, pp. 23–31, May 1998.

D. E. Perry, A. A. Porter, and L. G. Votta, “Empirical studies of software engineering: A roadmap,” in Proceedings of the Conference on The Future of Software Engineering, ser. ICSE ’00. New York, NY, USA: ACM, 2000, pp. 345–355.

Masmali, O., Badreddin, O. (2021). Theoretically Validated Complexity Metrics for UML State Machine Models. In: Arai, K., Kapoor, S., Bhatia, R. (eds) Proceedings of the Future Technologies Conference (FTC) 2020, Volume 3. FTC 2020. Advances in Intelligent Systems and Computing, vol 1290. Springer, Cham. https://doi.org/10.1007/978-3-030-63092-8_28

Lidia López, Xavier Burgués, Silverio Martínez-Fernández, Anna Maria Vollmer, Woubshet Behutiye, Pertti Karhapää, Xavier Franch, Pilar Rodríguez, Markku Oivo, Quality measurement in agile and rapid software development: A systematic mapping, Journal of Systems and Software, Volume 186, 2022, 111187, ISSN 0164-1212, https://doi.org/10.1016/j.jss.2021.111187

Published

2025-04-11

How to Cite

Osaiweran, A. (2025). Validating Quality Metrics of State Machine Models. Journal of Engineering and Technological Sciences - JOEATS , 3(2), 118–143. https://doi.org/10.59421/joeats.v3i2.2534

Issue

Section

1

Similar Articles

1 2 > >> 

You may also start an advanced similarity search for this article.