ABSTRACT
Software Bug Prediction using Machine Learning
Ship Detection in remotely sensed satellite imagery is a challenging task
due to tiny size of the objects and low resolution of the images. Several object
detection methods that perform very well for medium-sized and large-sized
objects, miserable fail to perform decently in such applications. From the vast
variety of the models available, few You only look once (YOLO) have proven
to yield decent efficiency and accuracy in ship detection in satellite images.
Hence, the paper proposes to detect and classify ships in remotely sensed
satellite images by applying transfer learning to fine-tune the latest YOLO-
Neural Architecture Search (YOLO-NAS) model. To the best of our knowledge
this paper is the first attempt to test YOLO-NAS model for ship detection in
satellite imagery. To demonstrate the strength of the YOLO NAS model, the
paper also trains YOLOv5 and YOLOv8 on the same dataset allowing to
comprehensively compare the efficiency of the proposed model against
previous state-of-art versions. The findings demonstrate high mean average
precision scores for the proposed model, indicating the effectiveness of the
YOLO-NAS algorithm in accurately locating ships in satellite images.
Existing System
The current software bug prediction system in the paper utilizes supervised
machine learning algorithms, such as Random Forest, Logistic Regression,
Naïve Bayes, Decision Trees, Support Vector Machine (SVM), Artificial Neural
Networks (ANN), and K-Nearest Neighbors (KNN), applied to the NASA JM1
dataset. These models predict defects in software modules based on static code
metrics like McCabe’s cyclomatic complexity and Halstead metrics. However,
the system faces limitations, including moderate accuracy (Random Forest at
81%), challenges with class imbalance in the dataset, and reliance on a single
dataset, which restricts generalizability. The models also lack real-time
prediction capabilities and advanced feature engineering, leading to potential
overfitting and limited adaptability to modern software projects. Additionally,
the system does not provide explainability, making it difficult for developers to
understand prediction outcomes.
Disadvantages of the Existing System
1. Moderate prediction accuracy (e.g., 81% for Random Forest), limiting
reliability in critical applications.
2. Susceptibility to class imbalance, reducing recall for defective modules.
3. Lack of generalizability due to reliance on the JM1 dataset, not validated
across diverse projects.
4. Absence of real-time prediction, making it impractical for integration into
the software development lifecycle (SDLC).
5. Limited explainability, hindering trust and usability for developers and
stakeholders.
Algorithms
Random Forest for ensemble-based defect prediction.
Logistic Regression for modeling relationships between features and
defects.
Naïve Bayes for probabilistic classification.
Decision Trees for hierarchical decision-making.
Support Vector Machine (SVM) for binary classification with maximum
margins.
Artificial Neural Networks (ANN) for pattern recognition in labeled data.
K-Nearest Neighbors (KNN) for distance-based classification.
Proposed System
The proposed system enhances the existing bug prediction framework by
integrating advanced deep learning techniques, such as Convolutional Neural
Networks (CNNs) and Recurrent Neural Networks (RNNs), to capture complex
patterns in software data. It employs Automated Machine Learning (AutoML)
frameworks like AutoSklearn for optimized algorithm selection and
hyperparameter tuning, reducing manual effort. The system addresses class
imbalance using techniques like Synthetic Minority Oversampling Technique
(SMOTE) and incorporates dynamic metrics (e.g., code churn, runtime
behavior) alongside static metrics. Designed for real-time prediction, it
integrates with development environments for continuous monitoring during the
SDLC. Additionally, it includes explainability tools like SHAP or LIME and
supports cross-dataset validation on modern repositories, ensuring scalability
and applicability to diverse software projects.
Advantages of the Proposed System
1. Higher prediction accuracy through advanced deep learning models,
surpassing traditional algorithms.
2. Improved handling of class imbalance, enhancing recall for defective
modules.
3. Real-time prediction capabilities, enabling integration into active
development workflows.
4. Enhanced explainability, increasing trust and usability for developers.
5. Scalability and generalizability across diverse datasets and modern
software projects.
Key Algorithms
1. Convolutional Neural Networks (CNNs) for robust feature extraction
from complex software metrics.
2. Recurrent Neural Networks (RNNs) for capturing temporal patterns in
code changes.
3. AutoML frameworks (e.g., AutoSklearn) for automated algorithm
selection and optimization.
4. Synthetic Minority Oversampling Technique (SMOTE) for addressing
class imbalance.
5. SHAP or LIME for explainable predictions, highlighting key defect-
contributing factors.
HARDWARE REQUIREMENTS:
System : Intel i3
Hard Disk : 1 TB.
Monitor : 14’ Colour Monitor.
Mouse : Optical Mouse.
Ram : 4GB.
SOFTWARE REQUIREMENTS:
Operating system : Windows
Coding Language : Python. 3.11.0
Front-End : Html. CSS
Designing : Html,css,javascript.
Data Base : SQLite.