arrow
Return

Enabling Mutant Generation for Open- and Closed-Source Android Apps

delete2022-01-01
delete8
delete
OA
AI
C
Camilo Escobar‐Velásquez
M
Mario Linares‐Vásquez *
G
Gabriele Bavota
M
Michele Tufano
K
Kevin Moran
M
Massimiliano Di Penta
C
Christopher Vendome
C
Carlos Bernal-Cárdenas
D
Denys Poshyvanyk
DOI:10.1109/TSE.2020.2982638delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Mutation testing has been widely used to assess the fault-detection effectiveness of a test suite, as well as to guide test case generation or prioritization. Empirical studies have shown that, while mutants are generally representative of real faults, an effective application of mutation testing requires traditional operators designed for programming languages to be augmented with operators specific to an application domain and/or technology. The case for Android apps is not an exception. Therefore, in this paper we describe the process we followed to create (i) a taxonomy of mutation operations and, (ii) two tools, MDroid+ and MutAPK for mutant generation of Android apps. To this end, we systematically devise a taxonomy of 262 types of Android faults grouped in 14 categories by manually analyzing 2,023 software artifacts from different sources (e.g., bug reports, commits). Then, we identified a set of 38 mutation operators, and implemented them in two tools, the first enabling mutant generation at the source code level, and the second designed to perform mutations at APK level. The rationale for having a dual-approach is based on the fact that source code is not always available when conducting mutation testing. Thus, mutation testing for APKs enables new scenarios in which researchers/practitioners only have access to APK files. The taxonomy, proposed operators, and tools have been evaluated in terms of the number of non-compilable, trivial, equivalent, and duplicate mutants generated and their capacity to represent real faults in Android apps as compared to other well-known mutation tools.
Keywords:
Mutation testing
fault taxonomy
mutation operators
android

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.9K
Citations:
1.1W

Organization

W
William & Mary
Scholars:
2.6K
Papers: 2.2K
Citations: 1
University of Sannio cover
University of Sannio
Scholars:
2.3K
Papers: 2.2K
Citations: 2.3K
U
University System of Ohio
Scholars:
15.5W
Papers: 13.0W
Citations: 200
U
universidad de los andes (colombia)
Scholars:
4.7K
Papers: 4.3K
Citations: 7
M
Microsoft
Scholars:
3.0K
Papers: 2.7K
Citations: 7
researcher View more organizations
Cited Papers

Cited Papers

Predicting extinction rates in stochastic epidemic models
err2009-01-05
err0
PREAI
errIra B Schwartz; Lora Billings; Mark Dykman; Alexandra Landsman
errShare
errSave
Tongue thickness measured by ultrasonography is associated with tongue pressure in the Japanese elderly
err2020-08-07
err0
errOAAI
errMasahiro Nakamori; Eiji Imamura; Masako Fukuta; Keisuke Tachiyama; Teppei Kamimura; Yuki Hayashi; Hayato Matsushima; Kanami Ogawa; Masami Nishino; Akiko Hirata; Tatsuya Mizoue; Shinichi Wakabayashi
errShare
errSave
MobiGUITAR Automated Model-Based Testing of Mobile Apps
err2015-09-01
err244
PREAI
errAmalfitano, Domenico; Fasolino, Anna Rita; Tramontana, Porfirio; Ta, Bryan Dzung; Memon, Atif M.
errShare
errSave
Using mutation analysis for assessing and comparing testing coverage criteria
err2006-08-01
err345
PREAI
errAndrews, James H.; Briand, Lionel C.; Labiche, Yvan; Namin, Akbar Siami
errShare
errSave
researcher View more