Masterthesis ‘Faster Mutation Testing With Stryker’
Mutation testing is a way to measure the effectiveness of unit tests. Stryker Mutator, an open-source mutation testing framework by Info Support is allready fast. Find areas where improvements can still be made to speed the mutation testing up.
- Software Architecture
- Software Development Methodologies
- Open Source
What do you get
- A challenging assignment within a practical environment
- € 1000 compensation, € 500 + lease car or € 600 + living space
- Professional guidance
- Courses aimed at your graduation period
- Support from our academic Research center at your disposal
- Two vacation days per month
What you will do
- 65% Research
- 10% Analyze, design, realize
- 25% Documentation
A mutation testing framework will measure the effectiveness of unit tests by inserting mutants (bugs) inside your production code and running the (unit) tests. If the tests pass for a given mutant, then there might be a missing test case. The mutant ‘survived’ in that case. If at least one of the tests fails, then the mutant is ‘killed’. The percentage of killed mutants is referred to as the ‘mutation score’ and is a metric for test effectiveness.
There are many ways of introducing mutants into the source code. Mutating sources statement by statement is a logical choice, but not good for performance as the codebase needs to be recompiled or reloaded after every mutation. Mutation switching can provide a solution to speed up the process. With mutation switching all mutants are compiled into the codebase at once and switched on one-by-one at runtime. In the case of Stryker.NET and Styker4s this has resulted in a significant performance boost.
We would like to increase the performance of Stryker even further. Research will focus on finding areas where improvements can be made and/or developing methodologies for speeding up mutation testing.
About Info Support Research Center
We anticipate on upcoming and future challenges and ensures our engineers develop cutting-edge solutions based on the latest scientific insights. Our research community proactively tackles emerging technologies. We do this in cooperation with renowned scientists, making sure that research teams are positioned and embedded throughout our organisation and our community, so that their insights are directly applied to our business. We truly believe in sharing knowledge, so we want to do this without any restrictions.