Font Size: a A A

Co-evolutionary Test Data Generation Method For Covering A Path Of A Parallel Program

Posted on:2019-03-04Degree:MasterType:Thesis
Country:ChinaCandidate:Z M WangFull Text:PDF
GTID:2428330566463387Subject:Control Science and Engineering
Abstract/Summary:PDF Full Text Request
With the extensive application of parallel programs in recent years,testing of such programs has been drawing more and more attention.The message-passing parallel program is a kind of commonly used parallel programs at present.The path coverage test data of such programs can be generated by genetic algorithm.However,traditional algorithms have inefficiencies when generating test data,because they do not make full use of knowledge provided by scheduling sequences.Therefore,it is necessary to improve testing methods of parallel programs.In this thesis,a method of generating test data based on co-evolution is proposed and a prototype system based on it is developed to improve the efficiency of testing.The main contents are organized as the following:(1)A path coverage test data generation method for parallel programs based on co-evolution is proposed.Firstly,a number of populations are generated according to scheduling sequences.Then methods are proposed to evaluate performances of individuals and populations.Finally,operations such as individual migration,population extinction and population merging are conducted during the evolution based on the above evaluations.Compared with traditional methods of using genetic algorithms to generate test data,this method does not introduce additional manual operations such as artificial scheduling sequence analysis,which improves the degree of automation in testing.In addition,this method uses multiple scheduling sequences in the process of test data generation,and evaluation of such scheduling sequences are performed based on knowledge provided by scheduling sequences.In this way,testing resources can be allocated to scheduling sequences where test data can generate easily,which improves test efficiency.(2)A prototype system for test data generation for covering a path of a parallel program is developed.This prototype system includes program processing,evolutionary solution and result processing.In this way,preprocessing before execution of programs is accomplished;test data are generated in the evolutionary solution module;results are saved and outputted.The evolutionary solution module written in C is the main part of this prototype system.It mainly includes population definition,population initialization,and functions of population migration,population extinction,population merging,population size calculation,fitness calculation,coding,decoding,selection,cross and mutation.In this way,we can use the proposed method to generate test data automatically and efficiently for various programs,which improves test efficiency.The method proposed in this thesis can generate test data efficiently for a parallel program,which makes a positive contribution to the development of software testing.
Keywords/Search Tags:parallel program, path coverage, test data generation, co-evolution, genetic algorithm
PDF Full Text Request
Related items