Abstract

The discovery of software faults at early stages plays an important role in improving software quality; reduce the costs, time, and effort that should be spent on software development. Machine learning (ML) have been widely used in the software faults prediction (SFP), ML algorithms provide varying results in terms of predicting software fault. Deep learning achieves remarkable performance in various areas such as computer vision, natural language processing, speech recognition, and other fields. In this study, two deep learning algorithms are studied, Multi-layer perceptron’s (MLPs) and Convolutional Neural Network (CNN) to address the factors that might have an influence on the performance of both algorithms. The experiment results show how modifying parameters is directly affecting the resulting improvement, these parameters are manipulated until the optimal number for each of them is reached. Moreover, the experiments show that the effect of modifying parameters had an important role in prediction performance, which reached a high rate in comparison with the traditional ML algorithm. To validate our assumptions, the experiments are conducted on four common NASA datasets. The result shows how the addressed factors might increase or decrease the fault detection rate measurement. The improvement rate was as follows up to 43.5% for PC1, 8% for KC1, 18% for KC2 and 76.5% for CM1.

Highlights

  • Developing high-quality software is one of the most challenges for software engineers

  • To discuss findings and interpret the results, we evaluate the appropriate parameters of the Convolutional Neural Network (CNN) and Multi-layer perceptron (MLPs) algorithms which give us useful predictions

  • WORK Machine learning is widely used in the area of prediction, one of the most promising subset is deep learning, the researchers prove that how deep learning achieves tangible performance in terms of prediction in various fields as computer vision, natural language processing, bioinformatics and software engineering etc

Read more

Summary

Introduction

Developing high-quality software is one of the most challenges for software engineers. Software development should pass through a sequence of activities under certain constraints to come up with reliable and high quality software. A major drawback to having good quality and reliable software is the occurrences of faults, where faults degraded the software quality and become unreliable end products not acquire customer satisfaction. Reference [1] In order to achieve high-quality software, suitable planning, and control of software development cycle measures must be followed. The existence of faults is inevitable and it might occur in various phases of software development. One of the quality models that help to reduce software failure is Software fault prediction that helps to avoid learning may provide valuable improvement in software fault prediction

Objectives
Methods
Findings
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call