Using Machine Learning on Testing IoT Applications: a systematic mapping - Freitas, Lavínia; Lelli, Valéria (Proceedings of the Brazilian Symposium on Multimedia and the Web (WebMedia), 2022)
Internet of Things (IoT) devices are increasingly present in people’s daily lives. Thus has increased research interest in investigating strategies that can ensure that these applications work as expected considering specific and vital characteristics of IoT, for example, security, performance and interoperability. In a testing point of view, there is a need to optimize and define an efficient strategy, from its planning to its execution. Considering all the steps that can be taken to test an IoT application, this process, if performed manually, can demand great effort and time. Machine learning (ML) algorithms have been applied in several areas of computing in order to optimize and automate processes that involve large volumes of data. In this paper, we present a systematic mapping resulting in 40 studies that highlights techniques or approaches that use machine learning algorithms for the most diverse goals within the IoT application testing process, such as the use of neural networks for predicting the cost of time in the preparation and execution of tests; identification of security attacks; and automatic generation of test cases from textual language. We also identified that the vast majority of testing techniques are focused on a specific IoT characteristic (e.g., security, performance), specially security, and apply the machine learning algorithm in two ways: directly in the algorithm, called predictive maintenance, or during the execution of planned tests, both of them bring difficulties related to extracting and defining data to train ML algorithms.