Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐞 BugClassify: Semantic Bug Report Classification

A multi-stage deep learning framework to automatically classify software bug reports with high accuracy using state-of-the-art NLP.


🚀 Features

  • 🧠 State-of-the-Art Semantic Understanding — Utilizes a fine-tuned Sentence-BERT (SBERT) model to understand the true meaning of bug reports, not just keywords.
  • 🏗️ Specialized Dual-Model Architecture — Employs a lightweight 1D CNN for fast initial triage and a powerful Transformer for deep, nuanced analysis.
  • 💡 Innovative Data Augmentation — Introduces domain-specific hard-negative sampling to create a robust model that isn't fooled by technical jargon.
  • 🔬 Multi-Level Classification — Categorizes reports by Existence (Bug/Non-Bug), Complexity (Bohrbug/Mandelbug), and Root Cause (ARB/NAM).
  • 📊 Proven High Performance — Achieves an F1-Score of 0.9644 on highly imbalanced, real-world data where traditional methods fail.
  • 🔌 Modular & Extensible — Designed to be easily integrated into existing bug tracking workflows and extended for other software engineering tasks.

📦 Installation

  1. Clone the repository:

    git clone https://github.com/Samurai007AK/BUgClassify.git
    cd BugClassify
  2. Install the required packages:

    pip install -r requirements.txt

🛠️ How to Use

(This is a template. You should update this with your actual script names and arguments.)

  1. Train the semantic model:

    python train_semantic_model.py --data_path ./data --output_dir ./models/sem_model_4
  2. Run the Bug vs. Non-Bug classification:

    python run_classification.py --model_type cnn --data_path ./data/linux_dataset.csv --semantic_model ./models/sem_model_4
  3. Run the advanced classification:

    python run_classification.py --model_type transformer --data_path ./data/curated_linux.xlsx --semantic_model ./models/sem_model_4

📂 Repository Structure

BugClassify/
│
├── data/                     # Folder for datasets (e.g., Linux, GCC, LLVM)
├── models/                   # Folder to save trained models and embeddings
├── notebooks/                # Jupyter notebooks for exploration and analysis
├── src/                      # Source code for the project
│   ├── preprocessing.py      # Data cleaning and augmentation scripts
│   ├── models.py             # Definitions for the CNN and Transformer architectures
│   ├── train.py              # Script for training the models
│   └── evaluate.py           # Script for evaluating model performance
│
├── requirements.txt          # List of Python dependencies
└── README.md                 # This file

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages