MuRanker: a mutant ranking tool ‡. (11th August 2014) - Namin, Akbar Siami; Xue, Xiaozhen; Rosas, Omar; Sharma, Pankaj
Summary: Mutation testing is a fault‐based software testing technique in which a large number of mutants are generated in order to assess the adequacy of test cases devised. One of the daunting problems in this area consists in determining whether a mutant can be killed by a test case or it cannot be killed easily because the mutant is semantically equivalent to the original programme. A possible solution, as proposed in this paper, is to measure the complexity of each mutant and prioritize them according to how easy or hard they are to be exposed. As a result, using a proper metric based on the mutants' complexity, the tester may decide whether to focus on killing easy or hard mutants first. This paper introduces MuRanker, a mutation ranking tool that ranks mutants according to their predicted difficulty and complexity in being detected. The tool uses distance functions to decide the difficulty level of mutants. The computation of the distance function score is based on three representations, namely the control‐flow‐graph representation, the Jimple representation and the information captured through the code coverage data to differentiate the changes in the original and mutant programs. The tool generates a report that displays mutants in an ordered list based on their complexity. Using this tool, the tester can choose mutants and then devise appropriate test cases with the goal of killing them. The mutation ranking idea and the developed tool allow the software tester to save substantial time and effort on a task that, otherwise, would require the user to manually identify the difficult mutants. To our knowledge, MuRanker is the first mutation tool that proposes ranking mutants to facilitate mutation testing.Copyright © 2014 John Wiley & Sons, Ltd. Abstract : MuRanker introduces and further implements the idea of ranking mutants. The tool ranks mutants according to their complexity in being detected by a test pool. The tool captures the distance between a mutant and the original program in deciding about ranking mutants. The empirical evaluation demonstrates the validity of the hypothesis stating that detecting medium and hard‐to‐kill mutants first will automatically detect easy‐to‐kill mutants, and thus, it reduces the number of test cases needed to achieve the mutation adequacy criterion.