Parallel Program Testing Based on Critical Communication and Branch Transformation

Tian,Anshi Wang,Xiuting Yang,Dunwei Gong,Tie Hou,Xiangjuan Yao
DOI: https://doi.org/10.1007/s11227-023-05460-4
IF: 3.3
2023-01-01
The Journal of Supercomputing
Abstract:Software testing is an efficient way to guarantee the reliability and accuracy of parallel programs. Communication plays a substantial role in parallel program testing. The huge scale of communication within parallel programs poses a great challenge to coverage testing. How to reasonably select the communication to be tested and effectively generate test data to meet the requirements of coverage is a pressing problem. In this paper, a critical communication testing method based on branch transformation is proposed, which can reasonably select part of program communication and generate test data. To be specific, firstly, this paper analyzes the features which easily lead to defects in communication, and then proposes the evaluation method of critical communication based on the above features. Next, we select the critical communication and convert the communication coverage to the coverage of the branch where the communication statement resides. Finally, a method based on genetic algorithm is used to solve the communication coverage problem in different scenarios. The proposed method is applied to the testing of several representative parallel programs. Experimental results show that compared with other methods, this proposed method can effectively reduce the quantity of communication, significantly improve the coverage rate of communication coverage testing and increase the efficiency of test data generation.
What problem does this paper attempt to address?