Designing Mutation Operators for Android Device Components: A View Through Bluetooth and Location API’s - Kuroishi, Pedro Henrique; Paiva, Ana C. R.; Maldonado, José Carlos; Vincenzi, Auri Marcelo Rizzo (Anais do Simpósio Brasileiro de Engenharia de Software (SBES), 2025)
Context: Mutation operators play a crucial role during the mutation testing process due to their capability to model common faults to be injected into an application under test. In the context of the Android OS, the academic literature shows that different studies propose mutation operators, especially focusing on the GUI and configuration. On the other hand, few devise mutation operators for specific Android device resource components such as connectivity, location, and sensors. Objective: Therefore, this paper aims to investigate the design and proposition of mutation operators for Bluetooth, Location, and the third-party library AltBeacon. The rationale is that this paper is carried out in an academia-industry partnership, in which the company develops applications that rely on these Android components. Method: The design process used a systematic approach named HAZOP to minimize any possible bias. Results: This systematic process helped in deriving a set of 16 mutation operators. Next, the paper provides an empirical cost evaluation that assesses the number of generated mutants for two applications and the number of generated mutants per operator, showing the feasibility of the mutation operators and their capabilities in modeling real faults. Conclusion: Finally, the paper discusses the future perspectives of extending the operators to other device resource components such as Wi-Fi, NFC, and sensors, as well as automation perspectives by envisioning the implementation and validation of the mutation operators.