Font Size: a A A

Mutation Testing Of Distributed Memory Parallel Programs Based On Mutant Stubbornness

Posted on:2022-12-11Degree:MasterType:Thesis
Country:ChinaCandidate:X T YangFull Text:PDF
GTID:2518306770467904Subject:Computer Software and Application of Computer
Abstract/Summary:PDF Full Text Request
Mutation testing is an important software testing technique that improves the adequacy of test by simulating real defects in software.However,stubborn mutants increase the cost of mutation testing.Due to the multi-flows of distributed memory parallel programs and their interactions,existing methods cannot effectively identify stubborn mutants and generate corresponding test data of such programs.Therefore,it is necessary to study the theory and method of mutation testing for distributed memory parallel programs based on the stubbornness of mutants.Reasonable methods for identifying stubborn mutants and effective test data generation strategies will improve the efficiency of mutation testing.This thesis mainly studies from two aspects: identifying of stubborn mutants,generating test data of stubborn mutants.Aiming at the problem of identifying stubborn mutants for distributed memory parallel programs,an identification method for stubborn mutants is proposed based on mutation statements and related flows.First,the stubbornness of traditional mutants is evaluated by considering the influence of the interaction sequences of flows,the reachability of the mutation statements,the attribute of mutation operators,and the related flows and inputs.Then,an evaluation indicator of the stubbornness of parallel mutants is proposed,which integrates the factors of different communication statements,reachability,and necessity of mutation statements.Finally,based on these indicators,the identification methods of stubborn mutants are given.Aiming at the problem of test data generation for traditional stubborn mutants,a test data generation method based on flow path guidance and search space reduction is proposed.First,according to the difficulties of generating test data for different paths and the interaction sequences of flows,the optimal flow path and interaction sequence of flows are selected.Then,the objective function is whether the traditional stubborn mutant is killed.The constraint function is whether the population individuals cover the target flow path.Based on the objective function and the constraint function,the math model is built.Finally,the strategy of dynamically fixing the decision variables and reducing the search domain is proposed,which makes full use of feedback information,to reduce the search domain and realize the efficient generation of test data for traditional stubborn mutants.Aiming at the problem of test data generation for parallel stubborn mutants,combining the relationship between parallel stubborn mutants,a generation method based on the dominance of statements,input variables and the interaction sequences of flows is proposed.First,the mutants are divided according to the dominant relationship between the mutation statements.Next,correlation matrices between the mutation statements and the program input variables are established,which are used to divide mutants again.Then,based on multiple groups of mutants,a test data generation model for killing parallel stubborn mutants is built.Finally,an ensemble evolution algorithm is used to generate test data that kill all parallel stubborn mutants.Experimental results prove that the method put forward in this thesis can effectively identify the stubborn mutants of distributed memory parallel programs.The strategies of generating test data can reduce the resources and time-consuming required for test data generation of stubborn mutants,and improve the efficiency of the mutation testing for distributed memory parallel programs.
Keywords/Search Tags:distributed memory parallel programs, mutation testing, traditional stubborn mutants, parallel stubborn mutants, test data generation
PDF Full Text Request
Related items