One of the barriers to the practical use of mutation testing is the unacceptable computational expense of generating and running vast numbers of mutant programs against the test cases. The number of mutants generated for a software unit is proportional to the product of the number of data references and the number of data objects. Typically, this is a large number for even small software units. Because each mutant program must be executed against at least one, and potentially many, test cases, mutation analysis requires large amounts of computation.

Approaches to reduce this computational expense usually follow one of three strategies: do fewer , do smarter , or do faster . The do fewer approaches seek ways of running fewer mutant programs without incurring intolerable information loss. The do smarter approaches seek to distribute the computational expense over several machines or factor the expense over several executions by retaining state information between runs or seek to avoid complete execution. The do faster approaches focus on ways of generating and running each mutant program as quickly as possible.

Topic revision: r1 - 2007-06-05 - 20:19:14 - GiuseppeDiGuglielmo
 
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback