Mutation testing is a fault based testing technique which examines the adequacy of test cases by generating faulty programs, called mutants, to be run against them. However, one of the pitfalls of mutation testing is its high computational cost, rendering it impractical for industry use. In this survey, we study mutation generation techniques, cost reduction methods and test-data generation approa...Show More