In recent years, mutation testing has been gaining more and more interest within software development and Quality Assurance. Another area is Machine Learning, which is becoming more and more widespread. Therefore, we consider a combination of these areas as a great opportunity to explore in a Master Thesis. If you have an appropriate academic background and degree and have good communications skills, this can be something for you.
The idea about mutation testing is to secure the quality of your regression tests to really make sure that they capture different kinds of anomalies. At System Verification we think this an interesting topic and participate in a test automation research project where we investigate how mutation testing can be utilized in continuous integrations and delivery tool chains. Mutation testing aims to create different mutants, i.e. variants, of the code that are syntactically correct, but not functional to evaluate how good the test cases are at identifying the anomalies. The problem is that it is quite easy to generate a large number of mutants, but it also takes a large amount of time to test all test mutants. Therefore, you want to reduce the number of mutants in different ways.
Our idea is to use Machine Learning (ML) to help us select relevant mutants to speed up this process. We have created a tool that applies mutation testing to C# and would like to extend this tool with ML functionality. The work can be divided into two parts. The first one aims to define a model for which variables to look at, e.g. which mutations are the most common, which of them survive and which test cases revealed the mutations. The second part aims to implement the functionality in our tool to improve the reduction of the mutants. After that, the results shall be evaluated and documented together with pros and cons in a report and finally be presented. It is recommended that you have programming skills in C# and .NET. It is also recommended that you have test knowledge, as well as quality assurance knowledge in general.
System Verification is Sweden’s largest Quality Assurance company. Our main competitive advantage is our pro-activeness that constantly keep our customers updated on the latest developments of Quality Assurance. By having a 100% focus on QA, we attract people who are passionate about the area and want to find new innovative solutions. The cooperation between us and our customers is characterized by professionalism, commitment, integrity, openness and respect. Our clients are found in the areas of Bank & Finance, Health Care, Automotive industry, Retail, Manufacturing, Biometrics, Security, Energy, IT and telecom.
If you are interested in this opportunity or have any questions, do not hesitate to contact us.
Looking forward to hearing from you!
Dr. Magnus C Ohlsson, Test Strategist
+46 73 661 28 60