Designing Mutation Operators for Android Device Components: A View Through Bluetooth and Location API’s

  • Pedro Henrique Kuroishi UFSCar
  • Ana C. R. Paiva University of Porto
  • José Carlos Maldonado USP
  • Auri Marcelo Rizzo Vincenzi UFSCar

Resumo


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.

Palavras-chave: mutation testing, mutation operator, Android, Android mutation operator, HAZOP, Bluetooth, Location, AltBeacon

Referências

Hiralal Agrawal, Richard A DeMillo, R_ Hathaway, William Hsu, Wynne Hsu, Edward W Krauser, Rhonda J Martin, Aditya P Mathur, and Eugene Spafford. 1989. Design of mutant operators for the C programming language. Technical Report. Technical Report SERC-TR-41-P, Software Engineering Research Center, Purdue.

Rodrigo Fraxino Araujo, José Carlos Maldonado, Márcio Eduardo Delamaro, Auri Marcelo Rizzo Vincenzi, and François Delebecque. 2011. Devising mutant operators for dynamic systems models by applying the HAZOP study. In International Conference on Software Engineering Advances - ICSEA 2011. IARIA - The International Academy Research and Industry Association, Barcelona, Spain, 58–64.

Jeremy S. Bradbury, James R. Cordy, and Juergen Dingel. 2006. Mutation Operators for Concurrent Java (J2SE 5.0). In Second Workshop on Mutation Analysis (Mutation 2006 - ISSRE Workshops 2006). IEEE, Raleigh, NC, USA, 11–11. DOI: 10.1109/MUTATION.2006.10

M. F. Chudleigh, J. R. Catmur, Arthur D. Little, and F. Redmill. 1995. A Guideline for HAZOP Studies on Systems which include a Programmable Electronic System. In Safe Comp 95, Gerhard Rabe (Ed.). Springer London, London, 42–58.

M.E. Delamaro, J.C. Maldonado, and A.P. Mathur. 2001. Interface Mutation: an approach for integration testing. IEEE Transactions on Software Engineering 27, 3 (2001), 228–247. DOI: 10.1109/32.910859

Márcio Delamaro, Mauro Pezzè, and Auri Vincenzi. 2001. Mutant Operators for Testing Concurrent Java Programs. In Anais do XV Simpósio Brasileiro de Engenharia de Software (Rio de Janeiro/RJ). SBC, Porto Alegre, RS, Brasil, 272–285. DOI: 10.5753/sbes.2001.23994

R.A. DeMillo, R.J. Lipton, and F.G. Sayward. 1978. Hints on Test Data Selection: Help for the Practicing Programmer. Computer 11, 4 (1978), 34–41. DOI: 10.1109/C-M.1978.218136

Lin Deng, Jeff Offutt, Paul Ammann, and Nariman Mirzaei. 2017. Mutation operators for testing Android apps. Information and Software Technology 81 (Jan. 2017), 154–168. DOI: 10.1016/j.infsof.2016.04.012

Lin Deng, Jeff Offutt, and David Samudio. 2017. Is Mutation Analysis Effective at Testing Android Apps?. In 2017 IEEE International Conference on Software Quality, Reliability and Security (QRS). IEEE, Prague, Czech Republic, 86–93. DOI: 10.1109/QRS.2017.19

Anna Derezińska and Konrad Hałas. 2014. Analysis of Mutation Operators for the Python Language. In Proceedings of the Ninth International Conference on Dependability and Complex Systems DepCoS-RELCOMEX. June 30 – July 4, 2014, Brunów, Poland,Wojciech Zamojski, Jacek Mazurkiewicz, Jarosław Sugier, Tomasz Walkowiak, and Janusz Kacprzyk (Eds.). Springer International Publishing, Cham, 155–164. DOI: 10.1007/978-3-319-07013-1_15

Camilo Escobar-Velásquez, Mario Linares-Vásquez, Gabriele Bavota, Michele Tufano, Kevin Moran, Massimiliano Di Penta, Christopher Vendome, Carlos Bernal-Cárdenas, and Denys Poshyvanyk. 2022. Enabling Mutant Generation for Open- and Closed-Source Android Apps. IEEE Transactions on Software Engineering 48, 1 (Jan. 2022), 186–208. DOI: 10.1109/TSE.2020.2982638

Jonathan Fürst, Kaifei Chen, Hyung-Sin Kim, and Philippe Bonnet. 2018. Evaluating Bluetooth Low Energy for IoT. In 2018 IEEE Workshop on Benchmarking Cyber-Physical Networks and Systems (CPSBench). IEEE, Porto, Portugal, 1–6. DOI: 10.1109/CPSBench.2018.00007

S. Gowrishankar, N. Madhu, and T. G. Basavaraju. 2015. Role of BLE in proximity based automation of IoT: A practical approach. In 2015 IEEE Recent Advances in Intelligent Computational Systems (RAICS). IEEE, Trivandrum, India, 400–405. DOI: 10.1109/RAICS.2015.7488449

Reyhaneh Jabbarvand and Sam Malek. 2017. μDroid: an energy-aware mutation testing framework for Android. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2017). Association for Computing Machinery, New York, NY, USA, 208–219. DOI: 10.1145/3106237.3106244

Yue Jia and Mark Harman. 2011. An Analysis and Survey of the Development of Mutation Testing. IEEE Transactions on Software Engineering 37, 5 (2011), 649–678. DOI: 10.1109/TSE.2010.62

René Just, Bob Kurtz, and Paul Ammann. 2017. Inferring mutant utility from program context. In Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis (Santa Barbara, CA, USA) (ISSTA 2017). Association for Computing Machinery, New York, NY, USA, 284–294. DOI: 10.1145/3092703.3092732

Sunwoo Kim, John Clark, and John Mcdermid. 2000. Class mutation: Mutation testing for object-oriented programs. In Proc. Net. ObjectDays. 9–12.

Sunwoo Kim, John Clark, and John Mcdermid. 2000. The rigorous generation of Java mutation using HAZOP. In In Proceedings of the 12 the International Conference on Software and Systems Engineering and Their Applications (ICSSEA’99). TBA, Paris, France.

M. Lakshmi, Alolika Panja, Naini, and Shakti Mishra. 2019. Customer’s Activity Recognition in Smart Retail Environment Using AltBeacon. In Emerging Research in Computing, Information, Communication and Applications, N. R. Shetty, L. M. Patnaik, H. C. Nagaraj, Prasad Naik Hamsavath, and N. Nalini (Eds.). Springer Singapore, Singapore, 591–604.

Mario Linares-Vásquez, Gabriele Bavota, Michele Tufano, Kevin Moran, Massimiliano Di Penta, Christopher Vendome, Carlos Bernal-Cárdenas, and Denys Poshyvanyk. 2017. Enabling mutation testing for Android apps. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (Paderborn, Germany) (ESEC/FSE 2017). Association for Computing Machinery, New York, NY, USA, 233–244. DOI: 10.1145/3106237.3106275

Jian Liu, Xusheng Xiao, Lihua Xu, Liang Dou, and Andy Podgurski. 2020. Droid-Mutator: an effective mutation analysis tool for Android applications. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Companion Proceedings (Seoul, South Korea) (ICSE ’20). Association for Computing Machinery, New York, NY, USA, 77–80. DOI: 10.1145/3377812.3382134

Google LLC. 2025. Bluetooth overview. [link]. (Accessed on 28/03/2025).

Google LLC. 2025. Location overview. [link]. (Accessed on 28/03/2025).

Google LLC. 2025. Overview of Google Play Services. [link]. (Accessed on 28/03/2025).

Eduardo Luna and Omar El Ariss. 2018. Edroid: A Mutation Tool for Android Apps. In 2018 6th International Conference in Software Engineering Research and Innovation (CONISOFT). IEEE, San Luis Potosi, Mexico, 99–108. DOI: 10.1109/CONISOFT.2018.8645883

Lei Ma, Fuyuan Zhang, Jiyuan Sun, Minhui Xue, Bo Li, Felix Juefei-Xu, Chao Xie, Li Li, Yang Liu, Jianjun Zhao, and Yadong Wang. 2018. DeepMutation: Mutation Testing of Deep Learning Systems. In 2018 IEEE 29th International Symposium on Software Reliability Engineering (ISSRE). IEEE, Memphis, TN, USA, 100–111. DOI: 10.1109/ISSRE.2018.00021

Yu-Seung Ma, Yong-Rae Kwon, and J. Offutt. 2002. Inter-class mutation operators for Java. In 13th International Symposium on Software Reliability Engineering, 2002. Proceedings. IEEE, Annapolis, MD, USA, 352–363. DOI: 10.1109/ISSRE.2002.1173287

Yu-Seung Ma, Jeff Offutt, and Yong-Rae Kwon. 2006. MuJava: a mutation system for java. In Proceedings of the 28th international conference on Software engineering (ICSE ’06). Association for Computing Machinery, New York, NY, USA, 827–830. DOI: 10.1145/1134285.1134425

Shabnam Mirshokraie, Ali Mesbah, and Karthik Pattabiraman. 2013. Efficient JavaScript Mutation Testing. In 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation. IEEE, Luxembourg, Luxembourg, 74–83. DOI: 10.1109/ICST.2013.23

Henry Muccini, Antonio Di Francesco, and Patrizio Esposito. 2012. Software testing of mobile applications: Challenges and future research directions. In 2012 7th International Workshop on Automation of Software Test (AST). IEEE, Zurich, Switzerland, 29–35.

Muneeb Muzamal and Aamer Nadeem. 2019. Improving test adequacy assessment by novel JavaScript mutation operators. In 2019 16th International Bhurban Conference on Applied Sciences and Technology (IBCAST). IEEE, Islamabad, Pakistan, 647–652. DOI: 10.1109/IBCAST.2019.8667222

Radius Network and David G. Young. 2025. AltBeacon overview. [link]. (Accessed on 28/03/2025).

Kazuki Nishiura, Yuta Maezawa, HironoriWashizaki, and Shinichi Honiden. 2013. Mutation Analysis for JavaScriptWeb Application Testing.. In SEKE, Vol. 2013. KSI Research Inc, Boston, Massachusetts, USA, 159–165.

James Jerson Ortiz Vega, Gilles Perrouin, Moussa Amrani, and Pierre-Yves Schobbens. 2018. Model-Based Mutation Operators for Timed Systems: A Taxonomy and Research Agenda. In 2018 IEEE International Conference on Software Quality, Reliability and Security (QRS). IEEE, Lisbon, Portugal, 325–332. DOI: 10.1109/QRS.2018.00045

Ana C. R. Paiva, João M. E. P. Gouveia, Jean-David Elizabeth, and Márcio E. Delamaro. 2019. Testing When Mobile Apps Go to Background and Come Back to Foreground. In 2019 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW). IEEE, Xi’an, China, 102–111. DOI: 10.1109/ICSTW.2019.00038

Minxue Pan, An Huang, Guoxin Wang, Tian Zhang, and Xuandong Li. 2020. Reinforcement learning based curiosity-driven testing of Android applications. Designing Mutation Operators for Android Device Components: A View Through Bluetooth and Location API’s In Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis (Virtual Event, USA) (ISSTA 2020). Association for Computing Machinery, New York, NY, USA, 153–164. DOI: 10.1145/3395363.3397354

Mike Papadakis, Marinos Kintis, Jie Zhang, Yue Jia, Yves Le Traon, and Mark Harman. 2019. Chapter Six - Mutation Testing Advances: An Analysis and Survey. In Advances in Computers, Atif M. Memon (Ed.). Advances in Computers, Vol. 112. Elsevier, 275–378. DOI: 10.1016/bs.adcom.2018.03.015

Fabiano Pecorelli, Gemma Catolino, Filomena Ferrucci, Andrea De Lucia, and Fabio Palomba. 2021. Software testing and Android applications: a large-scale empirical study. Empirical Software Engineering 27, 2 (14 Dec 2021), 31. DOI: 10.1007/s10664-021-10059-5

Macario Polo-Usaola and Isyed Rodríguez-Trujillo. 2021. Analysing the combination of cost reduction techniques in Android mutation testing. Software Testing, Verification and Reliability 31, 7 (2021), e1769. DOI: 10.1002/stvr.1769

Sharmila Savarimuthu and Michael Winikoff. 2013. Mutation Operators for the Goal Agent Language. In Engineering Multi-Agent Systems, Massimo Cossentino, Amal El Fallah Seghrouchni, and Michael Winikoff (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 255–273.

Henrique Neves Silva, Jackson Prado Lima, Silvia Regina Vergilio, and Andre Takeshi Endo. 2022. A mapping study on mutation testing for mobile applications. Software Testing, Verification and Reliability 32, 8 (2022), e1801. DOI: 10.1002/stvr.1801

Roland H. Untch, A. Jefferson Offutt, and Mary Jean Harrold. 1993. Mutation analysis using mutant schemata. SIGSOFT Softw. Eng. Notes 18, 3 (July 1993), 139–148. DOI: 10.1145/174146.154265

Enrico Viganò, Oscar Cornejo, Fabrizio Pastore, and Lionel C. Briand. 2023. Data-Driven Mutation Analysis for Cyber-Physical Systems. IEEE Transactions on Software Engineering 49, 4 (April 2023), 2182–2201. DOI: 10.1109/TSE.2022.3213041 Conference Name: IEEE Transactions on Software Engineering.

Auri M. R. Vincenzi, Pedro H. Kuroishi, João Bispo, Ana R. C. da Veiga, David R. C. da Mata, Francisco B. Azevedo, and Ana C. R. Paiva. 2025. METFORD – Mutation tEsTing Framework fOR anDroid. Journal of Systems and Software 222 (April 2025), 112332. DOI: 10.1016/j.jss.2024.112332

Huihui Zhang, Tao Yue, Shaukat Ali, and Chao Liu. 2016. Towards mutation analysis for use cases. In Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (Saint-malo, France) (MODELS ’16). Association for Computing Machinery, New York, NY, USA, 363–373. DOI: 10.1145/2976767.2976784
Publicado
22/09/2025
KUROISHI, Pedro Henrique; PAIVA, Ana C. R.; MALDONADO, José Carlos; VINCENZI, Auri Marcelo Rizzo. Designing Mutation Operators for Android Device Components: A View Through Bluetooth and Location API’s. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 39. , 2025, Recife/PE. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2025 . p. 149-159. ISSN 2833-0633. DOI: https://doi.org/10.5753/sbes.2025.9878.