Q223 : Software Fault Prediction Using Deep Neural Networks in Java Programming Language Methods
Thesis > Central Library of Shahrood University > Computer Engineering > MSc > 2021
Authors:
[Author], Alireza Tajary[Supervisor], Mansoor Fateh[Advisor], Esmaeel Tahanian[Advisor]
Abstarct: With the development of the software industry and increasing the quality and reliability of software products, software testing has been considered by engineers. However, since testing all inputs, even for a simple function is challenging and testing all software modules is often time-consuming and costly, it is usually disregarded. Therefore, the software fault prediction method is used to reduce the overall cost of the test and detect possible faults before they occurred. One of the challenges in the field of predicting software faults is that previous prediction models were old models or used datasets that were on small, limited, and outdated projects. Because of the software development process change, these models do not offer much efficiency for today's software. In this research, a new dataset called BugHunter has been used to help predict faults versus old methods. This valuable and relatively large dataset consists of 15 open source and conventional Java projects that software engineers widely use today. Various machine learning techniques such as Naive Bayes, Logistic Regression, and Random Forest have been used to predict software faults for this dataset. Another challenge is that the accuracy of existing prediction models is low for this dataset. This research used the Deep learning technique and Ensemble technique, intending to enhance the performance of the fault prediction model, and the combination of neural network and random forest increases the accuracy of the prediction model. The neural network used in this research is a multilxayer perceptron, and the classifier is a sequential model with several dense laxyers and dropouts. The proposed ensemble method also consists of a neural network and a random forest. In order to create robust prediction models and prevent the models from bias, the random oversampling technique has been used. Finally, the proposed method was applied to the BugHunter dataset, and the results show improvement in the fault prediction process, especially for the proposed ensemble technique. The value of the F-1 score evaluation metric by the proposed neural network technique is obtained to 74.81% and by the proposed ensemble technique is 81.84%, which compared to the previous best method, has increased by 8% and 11%, respectively.
Keywords:
#- Keeping place: Central Library of Shahrood University
Visitor: