T. Mens, A. Decan and N. I. Spanoudakis, "A method for testing and validating executable statechart models," Softw. Syst. Model, vol. 18, no. 2, pp. 837–863, Apr. 2019. doi: 10.1007/s10270-018-0676-3
https://doi.org/10.1007/s10270-018-0676-3
Statecharts constitute an executable language for modelling event-based reactive systems. The essential complexity of statechart models solicits the need for advanced model testing and validation techniques. In this article, we propose a method aimed at enhancing statechart design with a range of techniques that have proven their usefulness to increase the quality and reliability of source code. The method is accompanied by a process that flexibly accommodates testing and validation techniques such as test-driven development, behaviour-driven development, design by contract, and property statecharts that check for violations of behavioural properties during statechart execution. The method is supported by the Sismic tool, an open-source statechart interpreter library in Python, which supports all the aforementioned techniques. Based on this tooling, we carry out a controlled user study to evaluate the feasibility, usefulness and adequacy of the proposed techniques for statechart testing and validation.