A mapping study on mutation testing for mobile applications. (20th December 2021) - Silva, Henrique Neves; Prado Lima, Jackson; Vergilio, Silvia Regina; Endo, Andre Takeshi
Summary: The use of mutation testing for mobile applications (apps for short) is still a challenge. Mobile apps are usually event‐driven and encompass graphical user interfaces (GUIs) and a complex execution environment. Then, they require mutant operators to describe specific apps faults, and the automation of the mutation process phases like execution and analysis of the mutants is not an easy task. To encourage research addressing such challenges, this paper presents results from a mapping study on mutation testing for mobile apps. Following a systematic plan, we found 16 primary studies that were analysed according to three aspects: (i) trends and statistics about the field; (ii) study characteristics such as focus, proposed operators and automated support for the mutation testing phases; and (iii) evaluation aspects. The great majority of studies (98%) have been published in the last 3 years. The most addressed language is Java, and Android is the only operating system considered. Mutant operators of GUI and configuration types are prevalent in a total of 138 operators found. Most studies implement a supporting tool, but few tools support mutant execution and analysis. The evaluation conducted by the studies includes apps mainly from the finance and utility domain. Nevertheless, there is a lack of benchmarks and more rigorous experiments. Future research should address other specific types of faults, languages, and operating systems. They should offer support for mutant execution and analysis, as well as to reduce the mutation testing cost and limitations in the mobile context. Abstract : The paper reviews 16 primary studies about mutation testing for mobile apps. It analyses trends and statistics about the field; study characteristics such as focus, proposed operators and automated support for the mutation testing phases; and evaluation aspects. Future research can address other specific types of faults, languages and operating systems and offer support for mutant execution and analysis, as well as to reduce the mutation testing cost and limitations in the mobile context.