While mutation testing is an effective fault-based testing technique, it has its challenges such as being computationally expensive and requiring a large amount of effort to review surviving mutants. These problems have resulted in mutation testing mostly being restricted to academic research and not as widely adopted in the industry. In the academic context, the focus has been on maximizing the mutation score and while a high mutation score might increase the quality of the software, it is not feasible to kill all the mutants. Moreover, all mutants are not as equally important, and some can not or should not be killed. Instead, the focus should be shifted to prioritizing the productive mutants, those that further improve the test suite or the source code. This thesis investigated if some mutation operators are more suitable for certain types of software by using selective mutation. The mutation operators were evaluated based on their ability to generate productive mutants. Moreover, the mutation operators were analyzed to identify how they could be improved to reduce the number of unproductive mutants generated by them. Dextool Mutate was used to conduct mutation testing on four open-source C/C++ software that were all different types of software. It was concluded that some mutation operators are more suitable for certain types of software resulting in the proposal of a set of mutation operators for each software type. Moreover, various improvements for the mutation operators were identified that reduce the number of unproductive mutants generated. Lastly, it may be helpful to customize the implementation of mutation operators for each type of software and some software types may require additional specialized mutation operators.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:liu-205714 |
Date | January 2024 |
Creators | Falk, Jonathan |
Publisher | Linköpings universitet, Institutionen för datavetenskap |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0022 seconds