Towards mutation analysis of Android apps

Towards mutation analysis of Android apps Android applications (apps) have the highest number of releases, purchases, and downloads among mobile apps. However, quality is a known problem, and hence there is significant research interest in better methods for testing Android apps. We identify three reasons to extend mutation testing to Androidapps. First, current testing approaches for Android apps use simple coverage criteria such as statement coverage; extending mutation coverage to Android apps promises more sophisticated testing. Second, testing researchers inventing other test methods for Android apps need to evaluate the quality of their test selection strategies, which mutation excels at. Finally, some approaches to test generation for Android apps, specifically combinatorial testing approaches, generate very large numbers of tests. This is particularly problematic because running Android tests is slow. For these reasons, this paper proposes an innovative mutation analysis approach specific for Android apps. We define mutation operators specific to the characteristics of Android apps, such as the extensive use of XML files to specify behavior. We have implemented a prototype tool for generating, installing, and executing mutants on Android systems. We report preliminary results that show that mutation testing is feasible for Android apps, and we identify challenges that need to be addressed for mutation analysis to be effective.