Towards measuring the abstractness of state machines based on mutation testing
Modelirovanie i analiz informacionnyh sistem, Tome 24 (2017) no. 6, pp. 691-703.

Voir la notice de l'article provenant de la source Math-Net.Ru

The notation of state machines is widely adopted as a formalism to describe the behaviour of systems. Usually, multiple state machine models can be developed for the very same software system. Some of these models might turn out to be equivalent, but, in many cases, different state machines describing the same system also differ in their level of abstraction. In this paper, we present an approach to actually measure the abstractness level of state machines w.r.t. a given implemented software system. A state machine is considered to be less abstract when it is conceptionally closer to the implemented system. In our approach, this distance between state machine and implementation is measured by applying coverage criteria known from software mutation testing. Abstractness of state machines can be considered as a new metric. As for other metrics as well, a known value for the abstractness of a given state machine allows to assess its quality in terms of a simple number. In model-based software development projects, the abstract metric can help to prevent model degradation since it can actually measure the semantic distance from the behavioural specification of a system in form of a state machine to the current implementation of the system. In contrast to other metrics for state machines, the abstractness cannot be statically computed based on the state machine's structure, but requires to execute both state machine and corresponding system implementation. The article is published in the author’s wording.
Keywords: model-based software development, metric, state machine, mutation testing.
@article{MAIS_2017_24_6_a2,
     author = {Thomas Baar},
     title = {Towards measuring the abstractness of state machines based on mutation testing},
     journal = {Modelirovanie i analiz informacionnyh sistem},
     pages = {691--703},
     publisher = {mathdoc},
     volume = {24},
     number = {6},
     year = {2017},
     language = {en},
     url = {http://geodesic.mathdoc.fr/item/MAIS_2017_24_6_a2/}
}
TY  - JOUR
AU  - Thomas Baar
TI  - Towards measuring the abstractness of state machines based on mutation testing
JO  - Modelirovanie i analiz informacionnyh sistem
PY  - 2017
SP  - 691
EP  - 703
VL  - 24
IS  - 6
PB  - mathdoc
UR  - http://geodesic.mathdoc.fr/item/MAIS_2017_24_6_a2/
LA  - en
ID  - MAIS_2017_24_6_a2
ER  - 
%0 Journal Article
%A Thomas Baar
%T Towards measuring the abstractness of state machines based on mutation testing
%J Modelirovanie i analiz informacionnyh sistem
%D 2017
%P 691-703
%V 24
%N 6
%I mathdoc
%U http://geodesic.mathdoc.fr/item/MAIS_2017_24_6_a2/
%G en
%F MAIS_2017_24_6_a2
Thomas Baar. Towards measuring the abstractness of state machines based on mutation testing. Modelirovanie i analiz informacionnyh sistem, Tome 24 (2017) no. 6, pp. 691-703. http://geodesic.mathdoc.fr/item/MAIS_2017_24_6_a2/

[1] Martin Abadi, Leslie Lamport, “The existence of refinement mappings”, Theoretical Computer Science, 82 (1991), 253–284 | DOI | MR | Zbl

[2] Thomas Baar, SSMA – Simple State Machine Analyzer, https://github.com/thomasbaar/simplesma

[3] Thomas Baar, “Verification Support for a State-Transition-DSL Defined with Xtext”, Proceedings of the 10th International Andrei Ershov Informatics Conference, PSI, Lecture Notes in Computer Science, 9609, Springer, 2015, 50–60

[4] Robert V. Binder, Bruno Legeard, Anne Kramer, Model-based testing: where does it stand?, Communications of the ACM, 58 (2015), 52–56

[5] Manfred Broy, Bengt Jonsson, Joost-Pieter Katoen, Martin Leucker, Alexander Pretschner, Model-Based Testing of Reactive Systems, Advanced Lectures, Lecture Notes in Computer Science, 3472, Springer, 2005 | MR | Zbl

[6] Shyam R. Chidamber, Chris F. Kemerer, “A metrics suite for object oriented design”, IEEE Transactions on Software Engineering, 20:6 (1994), 476–493 | DOI

[7] David Harel, “Statecharts: A visual formalism for complex systems”, Science of Computer Programming, 8:3 (1987), 231–274 | DOI | MR | Zbl

[8] David Harel, Hagi Lachover, Amnon Naamad, Amir Pnueli, Michal Politi, Rivi Sherman, Aharon Shtull-Trauring, Mark B. Trakhtenbrot, “STATEMATE: A working environment for the development of complex reactive systems”, IEEE Transactions on Software Engineering, 16:4 (1990), 403–414 | DOI

[9] Itemis, Yakindu, http://statecharts.org/

[10] Yue Jia, Mark Harman, “An analysis and survey of the development of mutation testing”, IEEE Transactions on Software Engineering, 37:5 (2011), 649–678 | DOI | MR

[11] Microsoft, SpecExplorer, https://msdn.microsoft.com/en-us/library/ee620411.aspx

[12] Object Management Group, Unified Modeling Language (UML), version 2.5, http://www.omg.org/spec/UML/2.5/

[13] Stephan Weißleder, Partition Test Generator (ParTeG), http://parteg.sourceforge.net/

[14] PIT Mutation Testing, Pitest, http://pitest.org/

[15] QM \textsuperscript{TM}, , QuantumLeaps http://www.state-machine.com/qm/

[16] Bernhard Schätz, Model-Based Development of Software Systems: From Models to Tools, Technical University Munich, 2009

[17] Mark Utting, Bruno Legeard, Practical Model-Based Testing: A Tools Approach, Morgan Kaufmann, 2007

[18] Gefei Zhang, Matthias H{ö}lzl, “A set of metrics for states and transitions in UML state machines”, Proceedings of the 2014 Workshop on Behaviour Modelling – Foundations and Applications, ACM, 2014