arrow
Return

A Program-Output Estimator for Software Testing Using Program Analysis and Deep Learning Algorithms

delete2025-11-01
delete0
PRE
AI
B
Bahman Arasteh *
S
Seyed Salar Sefati
P
Peri Gunes
V
Vahid Hosseinzadeh
F
Farzad Kiani
DOI:10.1007/s10836-025-06209-ydelete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Software testing is increasingly used as a software quality control method. During testing, the program under test's output is compared with the expected correct output using test data. Estimating the program's correct output from test inputs is a research problem in software testing. A test predictor (oracle) is a mechanism for determining the correctness of software outputs during testing. Many statistical and data mining techniques have been utilized to design a software test oracle. This study uses a Deep Learning (DL) technique to design a software test oracle. The proposed approach uses Convolutional Neural Networks (CNNs) to build the model for predicting results. Creating a training dataset derived from the behavior of real-world programs is another contribution of this study. Converting the created dataset to image files and normalizing them is the other stage of this study. The experimental results for programs with numeric and classification outputs indicate that the introduced test oracle achieves approximately 98% accuracy and 97% sensitivity. Moreover, the proposed method demonstrates higher accuracy, precision, and sensitivity than previous methods.
Keywords:
Software test
Test predictor
Deep learning
Convolutional neural networks
Accuracy
Sensitivity

Journal

J
Journal of Electronic Testing-Theory and Applications
IF:
1.3
Papers:
31
Citations:
549

Organization

F
Fatih Sultan Mehmet Vakif University
Scholars:
174
Papers: 193
Citations: 8
I
Istinye University
Scholars:
1.1K
Papers: 1.3K
Citations: 1.9K
I
islamic azad university
Scholars:
4.7K
Papers: 2.3K
Citations: 0
researcher View more organizations