Font Size: a A A

Study On The Mutant Reduction Strategies Based On Mutation-based Fault Location

Posted on:2021-01-05Degree:MasterType:Thesis
Country:ChinaCandidate:Y W YaoFull Text:PDF
GTID:2428330626458571Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Nowadays,computer software and people are inseparable from life.The quality of software is the primary concern of people.Software testing is a crucial way to ensure the quality of software.Program debugging is a more difficult task in software testing,and fault location is a time-consuming step in program debugging.Therefore,the study of effective fault location method can improve the efficiency of program debugging,reduce the cost of software testing and ensure the quality of software.Mutation-based fault location has been widely concerned by researchers.However,its efficiency is low because of its large number of mutants.So,the method can't be used into the actual life.A coverage-based mutation fault location method and a comparison-based mutation execution strategy have been proposed,and a fault location tool has been implemented.In view of the large number of mutants generated by the existing methods,this paper proposes a coverage-based mutation fault location method.This method combines the coverage-based fault location and the mutation-based fault location,and uses the coverage-based fault location to guide the generation of mutants.First,we calculate the suspicion value of each statement of the source program by the skepticism formula.Then,we use different mutation operators in different ranking statements according to the descending order of suspicion value of each statement of the source program to reduce the initial number of mutants.Finally,according to the types of mutation operators,we make a quadratic reduction of the set of mutants.Experimental results show that this method can improve the efficiency of fault location.Some faults in the existing programs are difficult to find.A mutant execution strategy based on path comparison has been provided.There are some faults in the program,which can't be found by judging the mutant is killed or not.These faults can be found by comparing the execution paths of source programs and mutants.This method selects valuable mutants through path comparison.First,we use the successful test cases to execute the mutant to calculate the maximum theoretical suspicion value of the mutant.Then,we use the failed test cases to execute the mutant to get the actual suspicion value of the mutant.Finally,we can get a threshold value according to the actual suspicion value.The maximum theoretical suspicion value,the actual suspicion value and the threshold value can reduce the number of subsequent mutants and test cases dynamically.Experimental results show that this method can enhance the efficiency of fault location.To sum up,this thesis proposes two fault location methods to solve the problems of existing fault location methods based on mutation testing,and implements a fault location tool to help developers locate faults.
Keywords/Search Tags:software testing, fault localization, mutation testing
PDF Full Text Request
Related items