Font Size: a A A

Parallel Program Testing Method For Critical Communication

Posted on:2024-09-30Degree:MasterType:Thesis
Country:ChinaCandidate:A S WangFull Text:PDF
GTID:2568307076474734Subject:Master of Electronic Information (Professional Degree)
Abstract/Summary:PDF Full Text Request
Software testing is an effective way to ensure the reliability and accuracy of parallel programs.Communication is an important feature that cannot be ignored in parallel programs and has a significant impact on the execution efficiency of the program.The numerous and complex communications are critical factors affecting the efficiency of parallel program testing.In view of this,this thesis studies effective parallel program communication testing methods from three aspects,communication coverage transformation,test object selection,and test data generation.Aiming at the problem of parallel program communication coverage,this thesis proposes the theory and method of communication coverage based on branch transformation.Firstly,the communication between processes is divided into deterministic communication and non-deterministic communication based on the characteristics of parallel programs.Secondly,the communication coverage is transformed into the coverage of communication statements between different processes for different types of communication.Then,considering the matching order of inter-process communication sending and receiving,the coverage of the communication statement is transformed into the coverage of the branch where the communication statement is located.Finally,the method of genetic algorithm is used to generate test data for different types of communication coverage problems.Aiming at the problem of communication test object selection,this thesis puts forward a method of test object selection based on communication criticality by analyzing the factors that affect communication criticality.Firstly,considering the characteristics of parallel programs,the factors that affect communication criticality are determined by integrating the features such as the structural type where the communication statements are located and communication transfer variables.Secondly,the communication criticality evaluation indicators are established based on factors that affect criticality.Then,a communication criticality evaluation method is proposed based on the impact degree of each indicator,and the criticality score of communication is calculated.Finally,an appropriate method is used to select the critical communications as the test object based on communication criticality.Aiming at the problem of communication test data generation,this thesis combines communication criticality with branch transformation,improves the method of test data generation by using communication criticality,and generates test data covering communication based on branch transformation strategy.Firstly,the factors that affect communication criticality are identified by analyzing the communication features of parallel programs,and the criticality score of communication is calculated.Secondly,the communications are classified based on criticality scores under different factors.Then,the parallel program communication coverage is transformed into the branch coverage by branch transformation strategy.Finally,the fitness function is improved based on communication criticality.For the communication coverage problem in different scenarios,the genetic algorithm is used to generate test data that satisfied communication.This thesis provides an effective solution to the problem of parallel program communication testing.Comparative experimental analysis with other methods shows that the proposed method can effectively reduce the scale of testing communication,reduce testing costs,and improve the efficiency of parallel program testing.
Keywords/Search Tags:software testing, parallel program, branch transformation, critical communication, test data generation
PDF Full Text Request
Related items