Basis Path Coverage Testing of MPI Programs Based on Multi-Task Evolutionary Optimization

Baicai Sun,Lina Gong,Yinan Guo,Dunwei Gong
DOI: https://doi.org/10.1016/j.eswa.2024.124557
IF: 8.5
2024-01-01
Expert Systems with Applications
Abstract:A Message-Passing Interface (MPI) program usually consists of several processes, and a target path of this program is composed of a target sub-path selected in each process. However, there may be coverage conflict between different target sub-paths in the target path, and there is currently no effective approach to avoid this problem. Therefore, this paper proposes an approach of basis path coverage testing of MPI programs based on multi-task evolutionary optimization, which is used to generate a test case set that meets the criteria of branch and sentence coverage. Firstly, the proposed approach samples a certain number of representative test inputs, and calculates the coverage level of each test input for each target sub-path in the target path, which is used to group the target sub-paths with coverage conflict. Then, we construct an optimization model for each group of the target sub-paths, which can guide test case generation with high effectiveness. Finally, each optimization model is solved by an evolutionary algorithm, and the efficiency of solving these optimization models is improved based on a multi-task framework. The proposed approach is applied to basis path coverage testing of seven benchmark MPI programs under test, and compared with several state-of-the-art approaches. Experimental results indicate that the proposed approach has significant advantages in test case generation, as well as performs good scalability.
What problem does this paper attempt to address?