Abstract-Mutation analysis is widely considered to be an exceptionally effective criterion for designing tests. It is also widely considered to be expensive in terms of the number of test requirements and in the amount of execution needed to create a good test suite. This paper posits that simply deleting statements, implemented with the statement deletion (SDL) mutation operators in Mothra, is enough to get very good tests. A version of the SDL operator for Java was designed and implemented inside the muJava mutation system. The SDL operator was applied to 40 separate Java classes, tests were designed to kill the non-equivalent SDL mutants, and then run against all mutants.
Abstract-Mutation testing researchers have long known that many generated mutants are not needed. This paper develops a graph model to describe redundancy among mutations. We define "true" subsumption, a relation that practicing test engineers would like to have, but cannot due to issues of computability. We also define dynamic subsumption and static subsumption as approximations of "true" subsumption. We explore the properties of the approximate subsumption relations in the context of a small example. We suggest possible uses for subsumption graphs.
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 Android apps. 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.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.