A Bioinspired Test Generation Method Using Discretized and Modified Bat Optimization Algorithm
View/ Open
Access
info:eu-repo/semantics/openAccessDate
2024Author
Arasteh, BahmanArasteh, Keyvan
Kiani, Farzad
Sefati, Seyed Salar
Fratu, Octavian
Halunga, Simona
Tirkolaee, Erfan Babaee
Metadata
Show full item recordCitation
ARASTEH, Bahman, Keyvan ARASTEH, Farzad KIANI, Seyed Salar SEFATI, Octavian FRATU, Simona HALUNGA & Erfan Babaee TIRKOLAEE. "A Bioinspired Test Generation Method Using Discretized and Modified Bat Optimization Algorithm". Mathematics, 12.186 (2024): 1-18Abstract
The process of software development is incomplete without software testing. Software
testing expenses account for almost half of all development expenses. The automation of the testing
process is seen to be a technique for reducing the cost of software testing. An NP-complete optimization
challenge is to generate the test data with the highest branch coverage in the shortest time.
The primary goal of this research is to provide test data that covers all branches of a software unit.
Increasing the convergence speed, the success rate, and the stability of the outcomes are other goals
of this study. An efficient bioinspired technique is suggested in this study to automatically generate
test data utilizing the discretized Bat Optimization Algorithm (BOA). Modifying and discretizing the
BOA and adapting it to the test generation problem are the main contributions of this study. In the
first stage of the proposed method, the source code of the input program is statistically analyzed to
identify the branches and their predicates. Then, the developed discretized BOA iteratively generates
effective test data. The fitness function was developed based on the program’s branch coverage. The
proposed method was implemented along with the previous one. The experiments’ results indicated
that the suggested method could generate test data with about 99.95% branch coverage with a limited
amount of time (16 times lower than the time of similar algorithms); its success rate was 99.85% and
the average number of required iterations to cover all branches is 4.70. Higher coverage, higher speed,
and higher stability make the proposed method suitable as an efficient test generation method for
real-world large software.