Model-Based Testing IoT Communication via Active Automata Learning
This addresses the challenge of ensuring reliability in IoT systems for developers and users, though it is incremental as it builds on existing model-based testing and automata learning techniques.
The paper tackled the problem of detecting failures in reactive systems, specifically IoT communication protocols, by using active automata learning to infer models of multiple implementations and cross-checking them for equivalence, resulting in the identification of several MQTT specification violations across five implementations, with all but one showing faulty behavior.
This paper presents a learning-based approach to detecting failures in reactive systems. The technique is based on inferring models of multiple implementations of a common specification which are pair-wise cross-checked for equivalence. Any counterexample to equivalence is flagged as suspicious and has to be analysed manually. Hence, it is possible to find possible failures in a semi-automatic way without prior modelling. We show that the approach is effective by means of a case study. For this case study, we carried out experiments in which we learned models of five implementations of MQTT brokers/servers, a protocol used in the Internet of Things. Examining these models, we found several violations of the MQTT specification. All but one of the considered implementations showed faulty behaviour. In the analysis, we discuss effectiveness and also issues we faced.