Abstract

Mutation testing of object-oriented programs differs from that of standard (traditional) mutation operators in accordance to the number of generated mutants and ability of tests to kill mutants. Therefore, outcomes of cost reduction analysis cannot be directly transferred from a standard mutation to an object-oriented one. Mutant sampling is one of reduction methods of the number of generated and tested mutants. We proposed different mutant sampling criteria based on equivalence partitioning in respect to object-oriented program features. The criteria were experimentally evaluated for object-oriented and standard mutation operators applied in C# programs. We compared results using a quality metric, which combines mutation score accuracy with mutation cost factors. In result, class random sampling and operator random sampling are recommended for OO and standard mutation testing, accordingly. With a reasonable decline of result accuracy, the mutant sampling technique is easily applicable in comparison to other cost reduction techniques.

Highlights

  • FAULT detection ability of a test suite can be measured with assistance of mutation analysis [1]

  • These values are interpreted in the following way: mutation score accuracy amounts to 60% in the quality metric whereas the number of mutants and the number of tests amounts per 20% each

  • The empirical study presented in this paper confirms the tendency that OO mutation operators undergo different characteristics than standard operators and may require slightly different methods of cost reduction

Read more

Summary

INTRODUCTION

FAULT detection ability of a test suite can be measured with assistance of mutation analysis [1]. Capability of a test suite to reveal faults introduced through mutations is expressed by a mutation score (MS) It is calculated as a ratio between the number of killed mutants and the number of all non-equivalent mutants. According to experiments with thousands of mutants on several C# programs [2], standard mutation operators are not sufficient in dealing with flows in object-oriented program structures. In the opposite to other mutant selection approaches [6], none of mutation operators is discarded Apart from this simple sampling method, we proposed and experimentally investigated five other sampling criteria based on an equivalence partitioning according to OO program structure. The sampling results were evaluated using a quality metric [4] that approximates a tradeoff between the mutation score accuracy and the mutation cost in terms of mutant number and test number.

Mutant Sampling Criteria
Investigation Process
Minimal Test Sets
Metric-Based Quality Evaluation
Experimental Set-up
Evaluation of Mutant Sampling Results
(4) Method random
Threats to validity
RELATED WORK
CONCLUSION
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call