journal article·2024Open access

Identification of Software Bugs by Analyzing Natural Language-Based Requirements Using Optimized Deep Learning Features

Qazi Mazhar ul Haq, Fahim Arif, Khursheed Aurangzeb, Noor ul Ain, Javed Ali Khan, Saddaf Rubab, Muhammad Shahid Anwar

Computers, Materials & Continua· Volume 78· Issue 3

Abstract

Software project outcomes heavily depend on natural language requirements, often causing diverse interpretations and issues like ambiguities and incomplete or faulty requirements. Researchers are exploring machine learning to predict software bugs, but a more precise and general approach is needed. Accurate bug prediction is crucial for software evolution and user training, prompting an investigation into deep and ensemble learning methods. However, these studies are not generalized and efficient when extended to other datasets. Therefore, this paper proposed a hybrid approach combining multiple techniques to explore their effectiveness on bug identification problems. The methods involved feature selection, which is used to reduce the dimensionality and redundancy of features and select only the relevant ones; transfer learning is used to train and test the model on different datasets to analyze how much of the learning is passed to other datasets, and ensemble method is utilized to explore the increase in performance upon combining multiple classifiers in a model. Four National Aeronautics and Space Administration (NASA) and four Promise datasets are used in the study, showing an increase in the model’s performance by providing better Area Under the Receiver Operating Characteristic Curve (AUC-ROC) values when different classifiers were combined. It reveals that using an amalgam of techniques such as those used in this study, feature selection, transfer learning, and ensemble methods prove helpful in optimizing the software bug prediction models and providing high-performing, useful end mode.
Source: openalex_inverted_index · Quality: baseline

Research context

OpenAlex topics: Software Engineering Research · Advanced Malware Detection Techniques · Software Testing and Debugging Techniques

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

References (36)

Show source-provided references
1. S. Aleem, L. F. Capretz, and F. Ahmed, “Benchmarking machine learning technologies for software defect detection,” arXiv preprint arXiv:1506.07563, 2015.10.5121/ijsea.2015.6302 ↗
2. A novel machine learning approach for bug prediction10.1016/j.procs.2016.07.271 ↗
3. Towards an ensemble-based system for predicting the number of software faults10.1016/j.eswa.2017.04.014 ↗
4. Software bug prediction using machine learning approach
5. Deep neural network-based hybrid approach for software defect prediction using software metrics10.1007/s10586-018-1696-z ↗
6. Software defect prediction using supervised machine learning and ensemble techniques: A comparative study10.4236/jsea.2019.125007 ↗
7. Combined classifier for cross-project defect prediction: An extended empirical study10.1007/s11704-017-6015-y ↗
8. Machine learning techniques for software bug prediction: A systematic review10.3844/jcssp.2020.1558.1569 ↗
9. Exploring instance correlations with local discriminant model for multi-label feature selection10.1007/s10489-021-02799-0 ↗
10. Learning correlation information for multi-label feature selection10.1016/j.patcog.2023.109899 ↗
11. Manifold learning with structured subspace for multi-label feature selection10.1016/j.patcog.2021.108169 ↗
12. Multi-label feature selection based on label correlations and feature redundancy10.1016/j.knosys.2022.108256 ↗
13. Multi-label feature selection with local discriminant model and label correlations10.1016/j.neucom.2021.02.005 ↗
14. Multi-label feature selection with constraint regression and adaptive spectral graph10.1016/j.knosys.2020.106621 ↗
15. An edge-aware based adaptive multi-feature set extraction for stereo matching of binocular images
16. Prevalence of machine learning techniques in software defect prediction
17. A framework for software defect prediction using feature selection and ensemble learning techniques10.5815/ijmecs.2019.12.01 ↗
18. A. Hasanpour, P. Farzi, A. Tehrani, and R. Akbari, “Software defect prediction based on deep learning models: Performance study,” arXiv preprint arXiv:2004.02589, 2020.
19. A hybrid feature selection model for software fault prediction
20. An empirical study on the effectiveness of feature selection for cross-project defect prediction10.1109/ACCESS.2019.2895614 ↗
21. Optimized dissolved oxygen prediction using genetic algorithm and bagging ensemble learning for smart fish farm10.1109/JSEN.2023.3278719 ↗
22. Saifudin · IOP Conf. Series: Mater. Sci. Eng. · 2019 · 662 · 06201110.1088/1757-899X/662/6/062011 ↗
23. Software defect prediction via deep learning10.35940/ijitee.D1858.039520 ↗
24. Proposed software faults detection using hybrid approach10.1002/spy2.103 ↗
25. Software defect prediction using feature selection and random forest algorithm
26. Software defect prediction using ensemble learning: A systematic literature review10.1109/ACCESS.2021.3095559 ↗
27. Classification of macromolecules based on amino acid sequences using deep learning10.48084/etasr.5230 ↗
28. Transfer learning for cross-company software defect prediction10.1016/j.infsof.2011.09.007 ↗
29. An investigation of imbalanced ensemble learning methods for cross-project defect prediction10.1142/S0218001419590377 ↗
30. A hybrid hand-crafted and deep neural spatio-temporal EEG features clustering framework for precise emotional status recognition10.3390/s22145158 ↗
31. Data quality: Some comments on the NASA software defect datasets10.1109/TSE.2013.11 ↗
32. Software metrics for fault prediction using machine learning approaches: A literature review with promise repository dataset
33. Evaluation of tree-based ensemble machine learning models in predicting stock price direction of movement10.3390/info11060332 ↗
34. Data mining: Practical machine learning tools and techniquesâ
35. Performance and classification evaluation of j48 algorithm and Kendallâs based J48 algorithm (KNJ48)10.14445/22312803/IJCTT-V59P112 ↗
36. Opening the box of a boxplot10.1080/00031305.1988.10475580 ↗