Font Size: a A A

Mutaion Pattern Mining And Mutation Operator Recommendation For Fault Localization

Posted on:2021-05-17Degree:MasterType:Thesis
Country:ChinaCandidate:Q JiangFull Text:PDF
GTID:2428330611998208Subject:Software engineering
Abstract/Summary:PDF Full Text Request
With the increasing complexity of software products,software failures cannot be avoided.Manually finding software faults takes a lot of time and effort,and whether or not faults can be finally found depends on the experience of the programmer.If you can automatically locate the fault,it will greatly reduce the time and difficulty of the software debugging process.Compared with the existing automatic fault localization methods,the mutation-based fault localization method has the higher location accuracy.However,due to the diversity of mutation operators,this method will produce a large number of mutants.The cost of implementing mutants is huge.At present,selection mutation is an important method to reduce the cost of mutation testing.Existing selection mutation methods usually use certain mutation operators based on experience in a specific application background.Although they can reduce the cost of mutation testing,the mutants generated by the selected mutation operator can not effectively represent the real fault due to the lack of analysis of the real fault repair mode,which reduces the effectiveness of the mutation test and is not conducive to locate software errors.To solve these problems,the main achievements of this paper are as following:First,Mined A large number of fault files and corresponding fixed files from the version control system,and then generate abstract syntax trees for them separately.Use Gumtree to compare the abstract syntax tree of the fault file with the fixed file to get the fault statement and the corresponding edit operation.Secondly,obtain the mutation pattern and map it to the corresponding mutation operator to construct the mutation operator-modified pattern library.For each type of known mutation operator,find all the faults that use it to correct,and then obtain the editing operation.Extracting the maximum common editing operation as the mutation mode,and map to the corresponding mutation operator.This paper also mines frequent operations which use prefixspan algorithm in the first-order mutation operator to form higher-order mutation operators.Then,use the the mutation operator recommend method to achieve selection mutation,first find the fault statement similar to the target statement and obtain the corresponding edit operation.Matching the edit operation with the mutation mode to find the mutation operator for recommendation.Finally,this paper uses Defects4 j as the test data set,verify the effectiveness ofthe mutation operator recommendation,and further apply mutation operator recommendation in the fault localization.Comparing this method with the fixed use of certain mutation operators,this method improve the average accuracy of fault localization to a certain extent.In addition,this paper use higher-order mutation operators to replace first-order mutation operators further improves the accuracy of fault localization.
Keywords/Search Tags:mutation analysis, fault localization, mutation pattern mining, mutation operator recommendation, frequent sequence mining
PDF Full Text Request
Related items