About
Concurrent code is becoming increasingly important with the advent of multi-core processors, but testing concurrent code is challenging. Researchers are developing new testing techniques and test suites for concurrent code, but evaluating these techniques and test suites for concurrent code often uses a small number of buggy programs.
Mutation testing allows creating a large number of buggy programs to evaluate test suites. It first applies mutation operators on the system under test to generate a number of mutants and then executes the test suite on each mutant to check if it can be killed. Executing the test suite for all mutants is expensive, and the cost is even higher for concurrent code where each test has to be executed for many (possibly all) thread schedules. The most widely used technique to speed up mutation testing is selective mutation, which reduces the number of mutants by applying only a subset of mutation operators such that test suites that kill all mutants generated by this subset also kill (almost) all mutants generated by all mutation operators. To date, selective mutation has been used only for sequential mutation operators.
Our research explores selective mutation for concurrent mutation operators.
Under Submission
Milos Gligoric, Lingming Zhang, Cristiano Pereira, and Gilles PokamSelective Mutation Testing for Concurrent Code
International Symposium in Software Testing and Analysis (ISSTA), Lugano, Switzerland, July 2013