Abstract
Automatically generated state machines are constrained by their complexity, which can be reduced via hierarchy generation. A technique has been demonstrated for hierarchy generation, although evaluation of this technique has proved difficult.
There are a variety of metrics that can be used to provide indicators of how complicated a state machine or statechart is, one such example is cyclomatic complexity (the number of edges - the number of states + 2). Despite this, the existing complexity metric for statecharts does not operate on the hierarchy, instead providing an equivalent cyclomatic complexity for statecharts by ignoring it.
This paper defines two new metrics; Top Level Cyclomatic Complexity and Hierarchical Cyclomatic Complexity. These metrics assess the complexity of a hierarchical machine directly, as well as allowing for comparison between the original, flat state machine and its hierarchical counterpart.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Cruz-Lemus, J.A., Maes, A., Genero, M., Poels, G., Piattini, M.: The impact of structural complexity on the understandability of UML statechart diagrams. Information Sciences 180(11), 2209–2220 (2010)
Genero, M., Miranda, D., Piattini, M.: Defining metrics for UML statechart diagrams in a methodological way. In: Jeusfeld, M.A., Pastor, Ó. (eds.) ER Workshops 2003. LNCS, vol. 2814, pp. 118–128. Springer, Heidelberg (2003)
Hall, M., McMinn, P., Walkinshaw, N.: Superstate identification for state machines using search-based clustering. In: Proceedings of the 12th Annual Conference on Genetic and Evolutionary Computation, pp. 1381–1388 (July 2010)
Harel, D.: Statecharts: A visual formalism for complex systems. Science of Computer Programming 8, 231–274 (1987)
Kumar, A.: Schaem: A method to extract statechart representation of FSMs. In: IEE International Advance Computing Conference 2009 (January 2009)
Lutz, R.: Evolving good hierarchical decompositions of complex systems. Journal of systems architecture 47(7), 613–634 (2001)
Genero, M., David Mir, M.P.: Empirical validation of metrics for UML statechart diagrams.... Quantitative Approaches in Object-oriented... (January 2002)
McCabe, T.: A complexity measure. IEEE Transactions on Software Engineering 2(4), 308–320 (1976)
Mitchell, B.S., Mancoridis, S.: On the automatic modularization of software systems using the bunch tool, vol. 32, pp. 193–208 (2006)
Poels, G., Dedene, G.: Measures for assessing dynamic complexity aspects of object-oriented conceptual schemes. In: Laender, A.H.F., Liddle, S.W., Storey, V.C. (eds.) ER 2000. LNCS, vol. 1920, pp. 499–512. Springer, Heidelberg (2000)
Yacoub, S., Ammar, H., Robinson, T.: Dynamic metrics for object oriented designs. In: Proceedings of Sixth International Software Metrics Symposium 1999, pp. 50–61 (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hall, M. (2011). Complexity Metrics for Hierarchical State Machines. In: Cohen, M.B., Ó Cinnéide, M. (eds) Search Based Software Engineering. SSBSE 2011. Lecture Notes in Computer Science, vol 6956. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23716-4_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-23716-4_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-23715-7
Online ISBN: 978-3-642-23716-4
eBook Packages: Computer ScienceComputer Science (R0)