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

Yükleniyor...
Küçük Resim

Tarih

Dergi Başlığı

Dergi ISSN

Cilt Başlığı

Yayıncı

Springer

Erişim Hakkı

info:eu-repo/semantics/embargoedAccess

Ö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.

Açıklama

Anahtar Kelimeler

Software Test, Test Predictor, Deep Learning, Convolutional Neural Networks, Accuracy, Sensitivity

Kaynak

Journal of Electronic Testing

WoS Q Değeri

Scopus Q Değeri

Cilt

Sayı

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.

Onay

İnceleme

Ekleyen

Referans Veren