An intelligent debugging assistant that predicts programming errors and provides fixes with clear explanations using Machine Learning and Large Language Models.
Debugging is one of the most time-consuming tasks in software development. Developers, especially beginners, often struggle to understand error messages and identify the correct fixes.
This results in:
- Increased development time
- Reduced productivity
- Difficulty in learning and understanding concepts
Traditional rule-based systems are not effective because error patterns are diverse, context-dependent, and continuously evolving. A scalable and adaptive solution is required.
This project builds a system that combines Machine Learning and LLMs to:
- Predict the type of error from code snippets or error logs
- Suggest possible fixes
- Provide clear, human-readable explanations
The system helps developers debug faster and understand errors more effectively.
- Python
- FastAPI
- scikit-learn
- Pandas
- NumPy
- TF-IDF Vectorization
- OpenAI API / OpenRouter
- React.js
- Python Version: 3.13.x
From the project root directory, run:
python -m venv venv- Windows (PowerShell):
.\venv\Scripts\Activate.ps1
- macOS/Linux:
source venv/bin/activate
pip install -r requirements.txt- Training and Evaluation:
Run the main workflow to train the model and evaluate its performance:
python -m src.main
- Prediction:
Run a sample prediction using the trained model:
python -m src.predict
- The user inputs an error message or code snippet.
- The input is processed and converted into numerical features using TF-IDF.
- A trained machine learning model predicts the error category.
- The predicted error and input are sent to an LLM API.
- The LLM generates:
- Suggested fixes
- Clear explanations
- The results are displayed through a React-based user interface.
- Error type prediction using machine learning
- Automatic fix suggestions
- Simple and understandable explanations
- Works with unseen error inputs
- FastAPI-based backend for efficient processing
- React-based user interface
| Name | Responsibility |
|---|---|
| Abishek | Machine Learning model development, FastAPI backend integration |
| Lakshmi | Data collection, preprocessing, feature engineering |
| Lakshmi Shankar & Abishek | Frontend development using React, UI/UX design |