A Program-Output Estimator for Software Testing Using Program Analysis and Deep Learning Algorithms
Künye
ARASTEH, Bahman, Seyed Salar SEFATI, Peri GÜNEŞ, Vahid HOSSEINZADEH & Farzad KIANI. "A Program-Output Estimator for Software Testing Using Program Analysis and Deep Learning Algorithms". Journal of Electronic Testing, (2025): 1-17.Özet
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.



















