Efficiently Automating Covering Array Generation: A Model Checking and Metaheuristic Algorithm Approach - Esfandyari, Sajad; Giveki, Davar; Rastegarnia, Amir; Farzamnia, Ali; Zheng, Hua (IEEE access, 2025)
The cost of software testing is a significant aspect of the software development life cycle, typically accounting for half of the total software production cost. Due to the large number of tests, it is impractical to perform a complete test of a system under test. Combinatorial testing is employed to identify errors that arise from the interaction among subsystems, with covering arrays being the most crucial type of combinatorial testing. Covering arrays consider parameter combinations using the t-way strategy. The goal is to reduce the number of test cases while ensuring adequate coverage. Fewer test cases result in greater efficiency, and less time spent generating the test suite leads to more effective testing. Various solutions have been proposed, with metaheuristic algorithms playing a vital role. Furthermore, solutions have been developed to automatically generate parameters and their corresponding values by utilizing a model of the system under test. In this paper, our objective is to employ model-based solutions for the automatic generation of a covering array. Specifically, we integrate the GROOVE model checker with a combination of Biogeography-Based Optimization (BBO) and Genetic Algorithm (GA) to enhance the efficiency and accuracy of the test suite generation. The GROOVE model checker extracts parameters and their values, which are then optimized by the BBO and GA algorithms to generate a minimal and effective test suite. The evaluation results show that our proposed solution outperforms existing algorithms, achieving higher efficiency and accuracy in test generation. This research highlights the novel integration of GROOVE with BBO and GA, contributing to the advancement of combinatorial testing techniques.