Model-Based Testing IoT Communication via Active Automata Learning
arXiv:1904.07075 · doi:10.1109/ICST.2017.32
Abstract
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.
Cited by in corpus (8)
- Dynamic Adaptation of Software-defined Networks for IoT Systems: A Search-based Approach
- Active vs. Passive: A Comparison of Automata Learning Paradigms for Network Protocols
- Fingerprinting and Analysis of Bluetooth Devices with Automata Learning
- A Systematic Approach to Automotive Security
- Model Learning: A Survey on Foundation, Tools and Applications
- Family-Based Fingerprint Analysis: A Position Paper
- The Closer You Look, The More You Learn: A Grey-box Approach to Protocol State Machine Learning
- A Survey on Resilience in the IoT: Taxonomy, Classification and Discussion of Resilience Mechanisms