In OOP, one of the most significant activities is identifying broken or non-broken classes, which determines how reliable the software will be and how much it can cost to maintain it. Traditional fault detection techniques for modern-day software systems are rarely effective enough since these systems are too complex to be detected by conventional diagnostic tools. This paper presents a new machine learning-based approach to enhance fault classification accuracy in OOP. We experimented with various data mining algorithms on software metrics and historical defect data datasets, including Random Forests, Gradient Boosting Machines (GBM), Convolutional Neural Networks (CNN), etc. The dataset was created to have features that could be used as models during training. The models were evaluated using accuracy, precision, recall, and F1-score criteria. Our results show that machine learning-based fault classifiers can enhance traditional methods. One such example is RF, which achieved 98% accuracy compared to CNN and GBM. The findings indicate that CNN has higher recall rates (100%), and RF has higher F1-scores (98%), reducing false positives and negatives more than any other model used in this research. This demonstrates how efficient these techniques are at detecting faults. Secondly, by identifying defective classes, thus reducing incorrect predictions, they contribute toward generating highly maintainable and reliable software systems. Random Forest (RF) consistently performs the best across most metrics. This research has the potential to revolutionize the field of software engineering, inspiring further exploration and development. That is why it reinforces what we have always believed about machine learning: that not only does it function effectively in software engineering, but it also needs to be heavily adjusted. Different glitches implementation modes must be tested using other programming languages in SDLCs.

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

MLCFOOP: Classifying Faulty and Non-faulty Classes in Object-Oriented Programming Using Machine Learning

  • Navneet Malik,
  • Rajesh Kumar Tyagi,
  • Anil Kumar Mishra,
  • Deepak Kumar Verma

摘要

In OOP, one of the most significant activities is identifying broken or non-broken classes, which determines how reliable the software will be and how much it can cost to maintain it. Traditional fault detection techniques for modern-day software systems are rarely effective enough since these systems are too complex to be detected by conventional diagnostic tools. This paper presents a new machine learning-based approach to enhance fault classification accuracy in OOP. We experimented with various data mining algorithms on software metrics and historical defect data datasets, including Random Forests, Gradient Boosting Machines (GBM), Convolutional Neural Networks (CNN), etc. The dataset was created to have features that could be used as models during training. The models were evaluated using accuracy, precision, recall, and F1-score criteria. Our results show that machine learning-based fault classifiers can enhance traditional methods. One such example is RF, which achieved 98% accuracy compared to CNN and GBM. The findings indicate that CNN has higher recall rates (100%), and RF has higher F1-scores (98%), reducing false positives and negatives more than any other model used in this research. This demonstrates how efficient these techniques are at detecting faults. Secondly, by identifying defective classes, thus reducing incorrect predictions, they contribute toward generating highly maintainable and reliable software systems. Random Forest (RF) consistently performs the best across most metrics. This research has the potential to revolutionize the field of software engineering, inspiring further exploration and development. That is why it reinforces what we have always believed about machine learning: that not only does it function effectively in software engineering, but it also needs to be heavily adjusted. Different glitches implementation modes must be tested using other programming languages in SDLCs.