Examining the Impact of Propagating and Partitioning for Mutation Analysis of C Programs

Author: 
Date created: 
2017-05-11
Identifier: 
etd10167
Keywords: 
Mutation Analysis
Program Analysis
Abstract: 

Mutation analysis is a technique for assessing the quality of test suites by seeding artificial defects into a program. The application of this method is still limited as it places a high demand on computational resources.There are techniques called infection, propagation, and partitioning that leverage the information available at run-time to reduce the execution time of mutation analysis. Although the effectiveness of these techniques has been investigated for Java, it is not known how they behave on programs written in low-level languages such as C. This thesis makes contributions toward investigating the effectiveness and efficiency of infection, propagation, and partitioning optimizations for programs written in C. It also explores the impact of statically pruning redundant mutants on these optimizations. The analysis of five real-world applications, with 402,000 lines of code in total, suggests that while infection might have the same effectiveness in C and Java, propagation and partitioning could be more effective for C. Additionally, it shows that static pruning reduces the impact of infection, propagation, and partitioning by around 5%, 7.29%, and 11.90% respectively.

Document type: 
Thesis
Rights: 
This thesis may be printed or downloaded for non-commercial research and scholarly purposes. Copyright remains with the author.
File(s): 
Senior supervisor: 
William (Nick) Sumner
Department: 
Applied Sciences: School of Computing Science
Thesis type: 
(Thesis) M.Sc.
Statistics: