Mutation tools for Java
András Márki, Birgitta Lindström · 2017
This paper presents an empirical study where three mutation tools for Java are compared. Mutation tools are plentiful and many of them are to be used for Java source code. Selecting the right tool to use is however, not always an easy task. Different tools often use their own definitions of mutators. For example, a tool might implement a reduced or extended version of a mutator, tools might use different names for the same mutator and some tools might introduce new mutators combining pieces from traditional ones under a new name. It might therefore, be hard to get a clear overview. Rather than just presenting the mutators that the tools implement, we focus on the resulting mutations and provide an in-depth theoretical understanding of how the tools compare with respect to achieved mutations. We apply cross-testing to determine the relative strength of the mutators implemented by the tools and show that differences with respect to the mutations also have an impact on their ability to detect each other's mutants.