A Study on AI-based Software Defect Detection for Security Traceability in IoT Applications
Software defect prediction is an integral aspect of the software development lifecycle as the prevalence of software systems increases and becomes more integrated into our daily lives, so the complexity of those systems increases the chances of risk for widespread defects. With the reliance on these systems the ability to accurately identify a defective model using automated machine learning has never been more important. Thus, this thesis contributes in five ways. First, investigation of various ML techniques for SDP. Second, comparative analysis and recommendation of appropriate ML techniques in SDP based on performance indicators for instance, accuracy, precision, recall, and F-measure. Third, to investigate and compare different Feature Extraction techniques for instance, Principal Component Analysis and Partial Least Squares Regression alone and, in combination with Feature Selection techniques i.e., Fisher score, Recursive Feature Elimination, and Elastic Net. Forth, verified all the FE and FS techniques in a separate and combined fashion on ML algorithms i.e., Support Vector Machine, Logistic Regression, Naïve Bayes, K-Nearest Neighbour, Multilayer Perceptron, Decision Tree, and ensemble learning methods Bagging, Adaptive Boosting, Extreme Gradient Boosting, Random Forest, and Generalized Stacking. Fifth, extensive experimental setup is built by considering various large data set repositories i.e., PROMISE and NASA MDP in Python with the PyCharm development environment and the scikit-learn library. The results of which are presented here within several csv
Cite items from this project
Funding
NONE