An automatic software test-generation method to discover the faults using fusion of machine learning and horse herd algorithm

One of the time-consuming and expensive phases in software development is software testing, which is used to improve the quality of software systems. Therefore, Software test automation is a helpful technique that can alleviate testing time. Several techniques based on evolutionary and heuristic alg...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:The Journal of supercomputing Jg. 81; H. 5; S. 741
Hauptverfasser: Arasteh, Bahman, Arasteh, Keyvan, Ghaffari, Ali
Format: Journal Article
Sprache:Englisch
Veröffentlicht: New York Springer US 14.04.2025
Springer Nature B.V
Schlagworte:
ISSN:1573-0484, 0920-8542, 1573-0484
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:One of the time-consuming and expensive phases in software development is software testing, which is used to improve the quality of software systems. Therefore, Software test automation is a helpful technique that can alleviate testing time. Several techniques based on evolutionary and heuristic algorithms have been put forth to produce maximum coverage test sets. The primary shortcomings of earlier methods are inconsistent outcomes, insufficient branch coverage, and low fault-detection rates. Increasing branch coverage rate, defect detection rate, success rate, and stability are the primary goals of this research. A time- and cost-effective method has been suggested in this research to produce test data automatically by utilizing machine learning and horse herd optimization algorithms. In the first stage of the proposed method, the suggested machine learning classification model identifies the non-error-propagating instructions of the input program using machine learning algorithms. In the second stage, a test generator was suggested to cover only the program's fault-propagating instructions. The main characteristics of produced test data are avoiding the coverage of non-error-propagating instructions, maximizing the coverage of error-propagating instructions, maximizing success rate, and the fault discovery capability. Several experiments have been performed using nine standard benchmark programs. In the first stage, the suggested instruction classifier provides 90% accuracy and 82% precision. In the second stage, according to the results, the produced test data by the suggested method cover 99.93% of the error-prone instructions. The average success percentage with this method was 98.93%. The suggested method identifies roughly 89.40% of the injected faults by mutation testing tools.
Bibliographie:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:1573-0484
0920-8542
1573-0484
DOI:10.1007/s11227-025-07219-5