<p>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.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

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

  • Bahman Arasteh,
  • Seyed Salar Sefati,
  • Peri Gunes,
  • Vahid Hosseinzadeh,
  • Farzad Kiani

摘要

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.