kirancodes.me
To Proof Maintenance & Beyond!

Enabling mutation testing for Android apps

Mario Linares Vásquez, Gabriele Bavota, Michele Tufano, Kevin Moran, Massimiliano Di Penta, Christopher Vendome, Carlos Bernal-Cárdenas, Denys Poshyvanyk

Abstract

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. This paper proposes MDroid+, a framework for effective mutation testing of Android apps. First, we systematically devise a taxonomy of 262 types of Android faults grouped in 14 categories by manually analyzing 2,023 so ware artifacts from different sources (e.g., bug reports, commits). Then, we identified a set of 38 mutation operators, and implemented an infrastructure to automatically seed mutations in Android apps with 35 of the identified operators. The taxonomy and the proposed operators have been evaluated in terms of stillborn/trivial mutants generated as compared to well know mutation tools, and their capacity to represent real faults in Android apps

BibTeX
@inproceedings{Vasquez-al:FSE17,
  author    = {Mario Linares V{\'{a}}squez and
               Gabriele Bavota and
               Michele Tufano and
               Kevin Moran and
               Massimiliano Di Penta and
               Christopher Vendome and
               Carlos Bernal{-}C{\'{a}}rdenas and
               Denys Poshyvanyk},
  title     = {Enabling mutation testing for Android apps},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {233--244},
  publisher = {{ACM}},
  year      = {2017},
}

Related papers