Mutation Testing in Evolving Systems
In many cases developers would like to test the program changes they introduce. To achieve this, a mutation testing formulation capable of capturing the altered program behaviours that are not adequately tested, is needed. Such a formulation of mutation testing would allow introducing relevant mutants, to the altered program behaviours, thereby allowing developers to focus, at commit time, on testing their changes. We thus introduce MuDelta an approach that identifies commit- relevant mutants; mutants that affect and are affected by the changed program behaviours. The talk will present an approach that uses machine learning on a combined scheme of graph and vector-based representations of static code features, which demonstrate a strong and relatively accurate prediction. These predictions lead to strong relevant tests that kill 45% more relevant mutants than randomly sampled mutants (either sampled from those residing on the changed component(s) or from the changed lines). Perhaps more importantly, our results show that our approach leads to mutants with 27% higher fault revealing ability in fault introducing commits. Taken together, our results corroborate the conclusion that commit-based mutation testing is suitable and promising for evolving software.
Fri 18 NovDisplayed time zone: Beijing, Chongqing, Hong Kong, Urumqi change
09:00 - 10:30
|Mutation Testing in Evolving Systems|
Mike Papadakis University of Luxembourg, Luxembourg